[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