[llvm] 465f564 - [X86] Remove the mayLoad and mayStore flags from vzeroupper/vzeroall.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 12:47:45 PDT 2020


Author: Craig Topper
Date: 2020-05-08T12:47:20-07:00
New Revision: 465f5648ee271c9ded9401cee58c84532c4a5c46

URL: https://github.com/llvm/llvm-project/commit/465f5648ee271c9ded9401cee58c84532c4a5c46
DIFF: https://github.com/llvm/llvm-project/commit/465f5648ee271c9ded9401cee58c84532c4a5c46.diff

LOG: [X86] Remove the mayLoad and mayStore flags from vzeroupper/vzeroall.

But leave the hasUnmodelledSideEffects flag.

Added: 
    

Modified: 
    llvm/include/llvm/IR/IntrinsicsX86.td
    llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
    llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 65aa88b75c6c..1bd2b88ae8c5 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -1275,9 +1275,9 @@ let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
 // Vector zero
 let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
   def int_x86_avx_vzeroall : GCCBuiltin<"__builtin_ia32_vzeroall">,
-        Intrinsic<[], [], []>;
+        Intrinsic<[], [], [IntrNoMem, IntrHasSideEffects]>;
   def int_x86_avx_vzeroupper : GCCBuiltin<"__builtin_ia32_vzeroupper">,
-        Intrinsic<[], [], []>;
+        Intrinsic<[], [], [IntrNoMem, IntrHasSideEffects]>;
 }
 
 // SIMD load ops

diff  --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
index 32fede8d2426..daa16fa7d939 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  1      7     1.50    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  2      2     1.00                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      7     1.50    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  32     90    8.00    *      *      U     vzeroall
-# CHECK-NEXT:  16     46    4.00    *      *      U     vzeroupper
+# CHECK-NEXT:  32     90    8.00                  U     vzeroall
+# CHECK-NEXT:  16     46    4.00                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0.0] - PdAGLU01

diff  --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
index 4c4acd533f01..748aa541010a 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  2      6     1.00    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     1.00                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      7     1.00    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  20     8     1.00    *      *      U     vzeroall
-# CHECK-NEXT:  4      0     1.00    *      *      U     vzeroupper
+# CHECK-NEXT:  20     8     1.00                  U     vzeroall
+# CHECK-NEXT:  4      0     1.00                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - BWDivider

diff  --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
index 4e7a9413aedf..636d236678cf 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  1      6     1.00    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  2      1     1.00                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      6     2.00    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  73     90    36.50   *      *      U     vzeroall
-# CHECK-NEXT:  37     46    18.50   *      *      U     vzeroupper
+# CHECK-NEXT:  73     90    36.50                 U     vzeroall
+# CHECK-NEXT:  37     46    18.50                 U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - JALU0

diff  --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
index 9d66e40a868e..e2f8fe2d9f30 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  2      7     1.00    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     1.00                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     1.00    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  20     9     2.00    *      *      U     vzeroall
-# CHECK-NEXT:  4      1     1.00    *      *      U     vzeroupper
+# CHECK-NEXT:  20     9     2.00                  U     vzeroall
+# CHECK-NEXT:  4      1     1.00                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SBDivider

diff  --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
index 8f1aa7d79e5f..8809fd894237 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  2      7     1.00    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     1.00                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     1.00    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  20     8     1.00    *      *      U     vzeroall
-# CHECK-NEXT:  4      0     1.00    *      *      U     vzeroupper
+# CHECK-NEXT:  20     8     1.00                  U     vzeroall
+# CHECK-NEXT:  4      0     1.00                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - HWDivider

diff  --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
index d4132e2ab2f1..b8c64ce85219 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  2      7     1.00    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     1.00                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     1.00    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  20     9     2.00    *      *      U     vzeroall
-# CHECK-NEXT:  4      1     1.00    *      *      U     vzeroupper
+# CHECK-NEXT:  20     9     2.00                  U     vzeroall
+# CHECK-NEXT:  4      1     1.00                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SBDivider

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
index 210f18c13232..996ffc7191fe 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.33                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     0.50    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  16     16    4.00    *      *      U     vzeroall
-# CHECK-NEXT:  4      0     0.67    *      *      U     vzeroupper
+# CHECK-NEXT:  16     16    4.00                  U     vzeroall
+# CHECK-NEXT:  4      0     0.67                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SKLDivider

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
index 5a8671922f6c..e1bd834bf444 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  2      7     0.50    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.33                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  2      8     0.50    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  34     12    5.00    *      *      U     vzeroall
-# CHECK-NEXT:  4      0     0.67    *      *      U     vzeroupper
+# CHECK-NEXT:  34     12    5.00                  U     vzeroall
+# CHECK-NEXT:  4      0     0.67                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SKXDivider

diff  --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
index 2aeda7f78102..585e257b1840 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  1      8     0.50    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.25                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  1      8     0.50    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      100   0.25    *      *      U     vzeroall
-# CHECK-NEXT:  1      100   0.25    *      *      U     vzeroupper
+# CHECK-NEXT:  1      100   0.25                  U     vzeroall
+# CHECK-NEXT:  1      100   0.25                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - ZnAGU0

diff  --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
index 4bbe2cc4ac6f..45b48e85f561 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
@@ -1719,8 +1719,8 @@ vzeroupper
 # CHECK-NEXT:  1      8     0.33    *                   vxorps	(%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      1     0.25                        vxorps	%ymm0, %ymm1, %ymm2
 # CHECK-NEXT:  1      8     0.33    *                   vxorps	(%rax), %ymm1, %ymm2
-# CHECK-NEXT:  1      100   0.25    *      *      U     vzeroall
-# CHECK-NEXT:  1      1     0.25    *      *      U     vzeroupper
+# CHECK-NEXT:  1      100   0.25                  U     vzeroall
+# CHECK-NEXT:  1      1     0.25                  U     vzeroupper
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - Zn2AGU0


        


More information about the llvm-commits mailing list