Procházet zdrojové kódy

+ call TX86AsmOptimizer.OptPass1VOP for logical operations as well

git-svn-id: trunk@37367 -
florian před 7 roky
rodič
revize
15b617546e

+ 7 - 1
compiler/i386/aoptcpu.pas

@@ -1171,7 +1171,13 @@ begin
                   A_VMULSD,
                   A_VMULSS,
                   A_VADDSD,
-                  A_VADDSS:
+                  A_VADDSS,
+                  A_VANDPD,
+                  A_VANDPS,
+                  A_VORPD,
+                  A_VORPS,
+                  A_VXORPD,
+                  A_VXORPS:
                     if OptPass1VOP(p) then
                       continue;
                   A_MULSD,

+ 1 - 1
compiler/x86/aoptx86.pas

@@ -1077,7 +1077,7 @@ unit aoptx86;
           ?
         }
         if GetNextInstruction(p,hp1) and
-          { we mix single and double opperations here because we assume that the compiler
+          { we mix single and double operations here because we assume that the compiler
             generates vmovapd only after double operations and vmovaps only after single operations }
           MatchInstruction(hp1,A_VMOVAPD,A_VMOVAPS,[S_NO]) and
           MatchOperand(taicpu(p).oper[2]^,taicpu(hp1).oper[0]^) and

+ 7 - 1
compiler/x86_64/aoptcpu.pas

@@ -85,7 +85,13 @@ uses
               A_VMULSD,
               A_VMULSS,
               A_VADDSD,
-              A_VADDSS:
+              A_VADDSS,
+              A_VANDPD,
+              A_VANDPS,
+              A_VORPD,
+              A_VORPS,
+              A_VXORPD,
+              A_VXORPS:
                 result:=OptPass1VOP(p);
               A_MULSD,
               A_MULSS,