[llvm] a0a0eb1 - [X86] Use WriteVecMove scheduler classes for VPMOVM2* instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 27 05:21:42 PST 2021
Author: Simon Pilgrim
Date: 2021-12-27T13:21:29Z
New Revision: a0a0eb192eff7750f386a066660d5bdefffe2bcb
URL: https://github.com/llvm/llvm-project/commit/a0a0eb192eff7750f386a066660d5bdefffe2bcb
DIFF: https://github.com/llvm/llvm-project/commit/a0a0eb192eff7750f386a066660d5bdefffe2bcb.diff
LOG: [X86] Use WriteVecMove scheduler classes for VPMOVM2* instructions
These match the port behaviour of reg-reg predicated xmm/ymm/zmm moves
Fixes #34958
Added:
Modified:
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index ecd4777c35331..bc67d1f89d7f7 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -10537,13 +10537,12 @@ def rr : AVX512XS8I<opc, MRMSrcReg, (outs Vec.RC:$dst), (ins Vec.KRC:$src),
multiclass cvt_mask_by_elt_width<bits<8> opc, AVX512VLVectorVTInfo VTInfo,
string OpcodeStr, Predicate prd> {
-// TODO - Replace WriteMove with WriteVecTrunc?
let Predicates = [prd] in
- defm Z : cvt_by_vec_width<opc, VTInfo.info512, OpcodeStr, WriteMove>, EVEX_V512;
+ defm Z : cvt_by_vec_width<opc, VTInfo.info512, OpcodeStr, WriteVecMoveZ>, EVEX_V512;
let Predicates = [prd, HasVLX] in {
- defm Z256 : cvt_by_vec_width<opc, VTInfo.info256, OpcodeStr, WriteMove>, EVEX_V256;
- defm Z128 : cvt_by_vec_width<opc, VTInfo.info128, OpcodeStr, WriteMove>, EVEX_V128;
+ defm Z256 : cvt_by_vec_width<opc, VTInfo.info256, OpcodeStr, WriteVecMoveY>, EVEX_V256;
+ defm Z128 : cvt_by_vec_width<opc, VTInfo.info128, OpcodeStr, WriteVecMoveX>, EVEX_V128;
}
}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
index da27526f87e3f..73016947de70b 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
@@ -504,8 +504,8 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %zmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2b %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2w %k0, %zmm0
# CHECK-NEXT: 1 1 0.33 vpmovb2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.33 vpmovw2m %zmm0, %k0
@@ -521,7 +521,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 13.67 47.67 4.00 156.67 52.50 52.50
+# CHECK-NEXT: - - 14.00 47.00 4.00 157.00 52.50 52.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -749,7 +749,7 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2b %k0, %zmm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2w %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2b %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2w %k0, %zmm0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovb2m %zmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovw2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
index ad32d07070772..32c285623cf7e 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
@@ -926,8 +926,8 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %xmm0
# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %ymm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %ymm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2b %k0, %ymm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2w %k0, %ymm0
# CHECK-NEXT: 1 1 0.33 vpmovb2m %xmm0, %k0
# CHECK-NEXT: 1 1 0.33 vpmovw2m %xmm0, %k0
# CHECK-NEXT: 1 1 0.33 vpmovb2m %ymm0, %k0
@@ -945,7 +945,7 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 18.33 133.33 8.00 248.33 105.00 105.00
+# CHECK-NEXT: - - 18.67 132.67 8.00 248.67 105.00 105.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1363,8 +1363,8 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2b %k0, %xmm0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2w %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2b %k0, %ymm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2w %k0, %ymm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2b %k0, %ymm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2w %k0, %ymm0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovb2m %xmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovw2m %xmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovb2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
index 9d08164bba70d..5849220ddc9d4 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dq.s
@@ -336,8 +336,8 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %zmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
# CHECK-NEXT: 1 1 0.33 vpmovd2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.33 vpmovq2m %zmm0, %k0
@@ -353,7 +353,7 @@ vpmovq2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 9.67 41.67 - 110.67 46.50 46.50
+# CHECK-NEXT: - - 10.00 41.00 - 111.00 46.50 46.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -506,7 +506,7 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - - - - 1.00 - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2q %k0, %zmm0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %zmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
index 7ab33c319e805..d7d0c3a733fce 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512dqvl.s
@@ -459,8 +459,8 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
-# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %ymm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %ymm0
# CHECK-NEXT: 1 1 0.33 vpmovd2m %xmm0, %k0
# CHECK-NEXT: 1 1 0.33 vpmovq2m %xmm0, %k0
# CHECK-NEXT: 1 1 0.33 vpmovd2m %ymm0, %k0
@@ -478,7 +478,7 @@ vpmovq2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 14.67 46.17 - 169.17 66.50 66.50
+# CHECK-NEXT: - - 15.00 45.50 - 169.50 66.50 66.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -688,8 +688,8 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2d %k0, %xmm0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - 0.50 - - 0.50 - - vpmovm2q %k0, %ymm0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %xmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovq2m %xmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - vpmovd2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
index 9a41974014fff..02a5152f98318 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
@@ -504,8 +504,8 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2b %k0, %zmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2w %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2b %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2w %k0, %zmm0
# CHECK-NEXT: 1 1 1.00 vpmovb2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovw2m %zmm0, %k0
@@ -525,7 +525,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 37.50 11.50 52.50 52.50 6.00 182.50 0.50 2.00 - -
+# CHECK-NEXT: - - 38.00 11.00 52.50 52.50 6.00 183.00 - 2.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -753,7 +753,7 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2b %k0, %zmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2w %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2b %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2w %k0, %zmm0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovb2m %zmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovw2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
index 0539e352c3800..6e106c9f0e58c 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
@@ -924,10 +924,10 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 8 0.50 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2b %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2w %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2b %k0, %ymm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2w %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %ymm0
# CHECK-NEXT: 1 1 1.00 vpmovb2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovw2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovb2m %ymm0, %k0
@@ -949,7 +949,7 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 41.00 89.00 103.67 103.67 8.00 293.00 1.00 2.67 - -
+# CHECK-NEXT: - - 41.33 89.33 103.67 103.67 8.00 293.33 - 2.67 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1365,10 +1365,10 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - - - 0.50 - - - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 0.50 0.50 - 0.50 - - - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2b %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2w %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2b %k0, %ymm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2w %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2b %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2w %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2b %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2w %k0, %ymm0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovb2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovw2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovb2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
index 102602b837e8e..b2b9a933a42cb 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
@@ -336,8 +336,8 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.50 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2d %k0, %zmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2q %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
# CHECK-NEXT: 1 1 1.00 vpmovd2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovq2m %zmm0, %k0
@@ -357,7 +357,7 @@ vpmovq2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 65.50 10.50 46.50 46.50 - 95.50 0.50 - - -
+# CHECK-NEXT: - - 66.00 10.00 46.50 46.50 - 96.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -510,7 +510,7 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vpmovm2q %k0, %zmm0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %zmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
index 647a5cff6f516..9c7e93f92ec13 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s
@@ -457,10 +457,10 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2d %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2q %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2d %k0, %ymm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2q %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
# CHECK-NEXT: 1 1 1.00 vpmovd2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovq2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovd2m %ymm0, %k0
@@ -482,7 +482,7 @@ vpmovq2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 77.00 73.00 66.50 66.50 - 85.00 1.00 - - -
+# CHECK-NEXT: - - 77.33 73.33 66.50 66.50 - 85.33 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -690,10 +690,10 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2d %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - - - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2d %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2q %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpmovm2q %k0, %ymm0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovq2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpmovd2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
index a7899881a1353..fed721e37175b 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bw.s
@@ -504,8 +504,8 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2b %k0, %zmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2w %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2b %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2w %k0, %zmm0
# CHECK-NEXT: 1 1 1.00 vpmovb2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovw2m %zmm0, %k0
@@ -523,7 +523,7 @@ vpmovw2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 37.50 11.50 52.50 52.50 6.00 182.50 0.50 2.00
+# CHECK-NEXT: - - 38.00 11.00 52.50 52.50 6.00 183.00 - 2.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -751,7 +751,7 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2b %k0, %zmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2w %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2b %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2w %k0, %zmm0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovb2m %zmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovw2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
index 2744d2894f0ee..cbdeb14f6284b 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -924,10 +924,10 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2b %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2w %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2b %k0, %ymm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2w %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2b %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2w %k0, %ymm0
# CHECK-NEXT: 1 1 1.00 vpmovb2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovw2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovb2m %ymm0, %k0
@@ -947,7 +947,7 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 41.00 37.00 103.67 103.67 8.00 345.00 1.00 2.67
+# CHECK-NEXT: - - 41.33 37.33 103.67 103.67 8.00 345.33 - 2.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1363,10 +1363,10 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - vpunpcklwd %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - vpunpcklwd (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2b %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2w %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2b %k0, %ymm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2w %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2b %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2w %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2b %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2w %k0, %ymm0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovb2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovw2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovb2m %ymm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
index 18750b04b00cd..046bc8e123a78 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dq.s
@@ -336,8 +336,8 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: 1 1 0.50 vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2d %k0, %zmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2q %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2d %k0, %zmm0
+# CHECK-NEXT: 1 1 0.50 vpmovm2q %k0, %zmm0
# CHECK-NEXT: 1 1 1.00 vpmovd2m %zmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovq2m %zmm0, %k0
@@ -355,7 +355,7 @@ vpmovq2m %zmm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 65.50 10.50 46.50 46.50 - 95.50 0.50 -
+# CHECK-NEXT: - - 66.00 10.00 46.50 46.50 - 96.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -508,7 +508,7 @@ vpmovq2m %zmm0, %k0
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vxorps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - vxorps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2d %k0, %zmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2q %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2d %k0, %zmm0
+# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vpmovm2q %k0, %zmm0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %zmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %zmm0, %k0
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
index 4f2b0d9f1f33c..6233999fbba95 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512dqvl.s
@@ -457,10 +457,10 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: 1 1 0.33 vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 0.25 vpmovm2d %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2q %k0, %xmm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2d %k0, %ymm0
-# CHECK-NEXT: 1 1 0.25 vpmovm2q %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %xmm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2d %k0, %ymm0
+# CHECK-NEXT: 1 1 0.33 vpmovm2q %k0, %ymm0
# CHECK-NEXT: 1 1 1.00 vpmovd2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovq2m %xmm0, %k0
# CHECK-NEXT: 1 1 1.00 vpmovd2m %ymm0, %k0
@@ -480,7 +480,7 @@ vpmovq2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 77.00 73.00 66.50 66.50 - 85.00 1.00 -
+# CHECK-NEXT: - - 77.33 73.33 66.50 66.50 - 85.33 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -688,10 +688,10 @@ vpmovq2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vxorps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - vxorps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2d %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2q %k0, %xmm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2d %k0, %ymm0
-# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - vpmovm2q %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2d %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2q %k0, %xmm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2d %k0, %ymm0
+# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - vpmovm2q %k0, %ymm0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovq2m %xmm0, %k0
# CHECK-NEXT: - - 1.00 - - - - - - - vpmovd2m %ymm0, %k0
More information about the llvm-commits
mailing list