[llvm] fc02ceb - [X86][AVX512] Use WriteShuffleX for xmm->xmm extensions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 12 07:22:59 PST 2021
Author: Simon Pilgrim
Date: 2021-12-12T15:22:32Z
New Revision: fc02ceb12aedeb43a993eac8226700810638e455
URL: https://github.com/llvm/llvm-project/commit/fc02ceb12aedeb43a993eac8226700810638e455
DIFF: https://github.com/llvm/llvm-project/commit/fc02ceb12aedeb43a993eac8226700810638e455.diff
LOG: [X86][AVX512] Use WriteShuffleX for xmm->xmm extensions
The XMM evex cases have the same behaviour as the SSE41 versions, which already uses WriteShuffleX
Added:
Modified:
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index a74c6aed03051..fa8787b650790 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -10102,18 +10102,19 @@ multiclass avx512_pmovx_common<bits<8> opc, string OpcodeStr, X86FoldableSchedWr
multiclass avx512_pmovx_bw<bits<8> opc, string OpcodeStr,
SDNode OpNode, SDNode InVecNode, string ExtTy,
- X86FoldableSchedWrite sched, PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi8")> {
+ X86FoldableSchedWrite schedX, X86FoldableSchedWrite schedYZ,
+ PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi8")> {
let Predicates = [HasVLX, HasBWI] in {
- defm Z128: avx512_pmovx_common<opc, OpcodeStr, sched, v8i16x_info,
+ defm Z128: avx512_pmovx_common<opc, OpcodeStr, schedX, v8i16x_info,
v16i8x_info, i64mem, LdFrag, InVecNode>,
EVEX_CD8<8, CD8VH>, T8PD, EVEX_V128, VEX_WIG;
- defm Z256: avx512_pmovx_common<opc, OpcodeStr, sched, v16i16x_info,
+ defm Z256: avx512_pmovx_common<opc, OpcodeStr, schedYZ, v16i16x_info,
v16i8x_info, i128mem, LdFrag, OpNode>,
EVEX_CD8<8, CD8VH>, T8PD, EVEX_V256, VEX_WIG;
}
let Predicates = [HasBWI] in {
- defm Z : avx512_pmovx_common<opc, OpcodeStr, sched, v32i16_info,
+ defm Z : avx512_pmovx_common<opc, OpcodeStr, schedYZ, v32i16_info,
v32i8x_info, i256mem, LdFrag, OpNode>,
EVEX_CD8<8, CD8VH>, T8PD, EVEX_V512, VEX_WIG;
}
@@ -10121,18 +10122,19 @@ multiclass avx512_pmovx_bw<bits<8> opc, string OpcodeStr,
multiclass avx512_pmovx_bd<bits<8> opc, string OpcodeStr,
SDNode OpNode, SDNode InVecNode, string ExtTy,
- X86FoldableSchedWrite sched, PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi8")> {
+ X86FoldableSchedWrite schedX, X86FoldableSchedWrite schedYZ,
+ PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi8")> {
let Predicates = [HasVLX, HasAVX512] in {
- defm Z128: avx512_pmovx_common<opc, OpcodeStr, sched, v4i32x_info,
+ defm Z128: avx512_pmovx_common<opc, OpcodeStr, schedX, v4i32x_info,
v16i8x_info, i32mem, LdFrag, InVecNode>,
EVEX_CD8<8, CD8VQ>, T8PD, EVEX_V128, VEX_WIG;
- defm Z256: avx512_pmovx_common<opc, OpcodeStr, sched, v8i32x_info,
+ defm Z256: avx512_pmovx_common<opc, OpcodeStr, schedYZ, v8i32x_info,
v16i8x_info, i64mem, LdFrag, InVecNode>,
EVEX_CD8<8, CD8VQ>, T8PD, EVEX_V256, VEX_WIG;
}
let Predicates = [HasAVX512] in {
- defm Z : avx512_pmovx_common<opc, OpcodeStr, sched, v16i32_info,
+ defm Z : avx512_pmovx_common<opc, OpcodeStr, schedYZ, v16i32_info,
v16i8x_info, i128mem, LdFrag, OpNode>,
EVEX_CD8<8, CD8VQ>, T8PD, EVEX_V512, VEX_WIG;
}
@@ -10140,19 +10142,19 @@ multiclass avx512_pmovx_bd<bits<8> opc, string OpcodeStr,
multiclass avx512_pmovx_bq<bits<8> opc, string OpcodeStr,
SDNode InVecNode, string ExtTy,
- X86FoldableSchedWrite sched,
+ X86FoldableSchedWrite schedX, X86FoldableSchedWrite schedYZ,
PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi8")> {
let Predicates = [HasVLX, HasAVX512] in {
- defm Z128: avx512_pmovx_common<opc, OpcodeStr, sched, v2i64x_info,
+ defm Z128: avx512_pmovx_common<opc, OpcodeStr, schedX, v2i64x_info,
v16i8x_info, i16mem, LdFrag, InVecNode>,
EVEX_CD8<8, CD8VO>, T8PD, EVEX_V128, VEX_WIG;
- defm Z256: avx512_pmovx_common<opc, OpcodeStr, sched, v4i64x_info,
+ defm Z256: avx512_pmovx_common<opc, OpcodeStr, schedYZ, v4i64x_info,
v16i8x_info, i32mem, LdFrag, InVecNode>,
EVEX_CD8<8, CD8VO>, T8PD, EVEX_V256, VEX_WIG;
}
let Predicates = [HasAVX512] in {
- defm Z : avx512_pmovx_common<opc, OpcodeStr, sched, v8i64_info,
+ defm Z : avx512_pmovx_common<opc, OpcodeStr, schedYZ, v8i64_info,
v16i8x_info, i64mem, LdFrag, InVecNode>,
EVEX_CD8<8, CD8VO>, T8PD, EVEX_V512, VEX_WIG;
}
@@ -10160,18 +10162,19 @@ multiclass avx512_pmovx_bq<bits<8> opc, string OpcodeStr,
multiclass avx512_pmovx_wd<bits<8> opc, string OpcodeStr,
SDNode OpNode, SDNode InVecNode, string ExtTy,
- X86FoldableSchedWrite sched, PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi16")> {
+ X86FoldableSchedWrite schedX, X86FoldableSchedWrite schedYZ,
+ PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi16")> {
let Predicates = [HasVLX, HasAVX512] in {
- defm Z128: avx512_pmovx_common<opc, OpcodeStr, sched, v4i32x_info,
+ defm Z128: avx512_pmovx_common<opc, OpcodeStr, schedX, v4i32x_info,
v8i16x_info, i64mem, LdFrag, InVecNode>,
EVEX_CD8<16, CD8VH>, T8PD, EVEX_V128, VEX_WIG;
- defm Z256: avx512_pmovx_common<opc, OpcodeStr, sched, v8i32x_info,
+ defm Z256: avx512_pmovx_common<opc, OpcodeStr, schedYZ, v8i32x_info,
v8i16x_info, i128mem, LdFrag, OpNode>,
EVEX_CD8<16, CD8VH>, T8PD, EVEX_V256, VEX_WIG;
}
let Predicates = [HasAVX512] in {
- defm Z : avx512_pmovx_common<opc, OpcodeStr, sched, v16i32_info,
+ defm Z : avx512_pmovx_common<opc, OpcodeStr, schedYZ, v16i32_info,
v16i16x_info, i256mem, LdFrag, OpNode>,
EVEX_CD8<16, CD8VH>, T8PD, EVEX_V512, VEX_WIG;
}
@@ -10179,18 +10182,19 @@ multiclass avx512_pmovx_wd<bits<8> opc, string OpcodeStr,
multiclass avx512_pmovx_wq<bits<8> opc, string OpcodeStr,
SDNode OpNode, SDNode InVecNode, string ExtTy,
- X86FoldableSchedWrite sched, PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi16")> {
+ X86FoldableSchedWrite schedX, X86FoldableSchedWrite schedYZ,
+ PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi16")> {
let Predicates = [HasVLX, HasAVX512] in {
- defm Z128: avx512_pmovx_common<opc, OpcodeStr, sched, v2i64x_info,
+ defm Z128: avx512_pmovx_common<opc, OpcodeStr, schedX, v2i64x_info,
v8i16x_info, i32mem, LdFrag, InVecNode>,
EVEX_CD8<16, CD8VQ>, T8PD, EVEX_V128, VEX_WIG;
- defm Z256: avx512_pmovx_common<opc, OpcodeStr, sched, v4i64x_info,
+ defm Z256: avx512_pmovx_common<opc, OpcodeStr, schedYZ, v4i64x_info,
v8i16x_info, i64mem, LdFrag, InVecNode>,
EVEX_CD8<16, CD8VQ>, T8PD, EVEX_V256, VEX_WIG;
}
let Predicates = [HasAVX512] in {
- defm Z : avx512_pmovx_common<opc, OpcodeStr, sched, v8i64_info,
+ defm Z : avx512_pmovx_common<opc, OpcodeStr, schedYZ, v8i64_info,
v8i16x_info, i128mem, LdFrag, OpNode>,
EVEX_CD8<16, CD8VQ>, T8PD, EVEX_V512, VEX_WIG;
}
@@ -10198,37 +10202,38 @@ multiclass avx512_pmovx_wq<bits<8> opc, string OpcodeStr,
multiclass avx512_pmovx_dq<bits<8> opc, string OpcodeStr,
SDNode OpNode, SDNode InVecNode, string ExtTy,
- X86FoldableSchedWrite sched, PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi32")> {
+ X86FoldableSchedWrite schedX, X86FoldableSchedWrite schedYZ,
+ PatFrag LdFrag = !cast<PatFrag>(ExtTy#"extloadvi32")> {
let Predicates = [HasVLX, HasAVX512] in {
- defm Z128: avx512_pmovx_common<opc, OpcodeStr, sched, v2i64x_info,
+ defm Z128: avx512_pmovx_common<opc, OpcodeStr, schedX, v2i64x_info,
v4i32x_info, i64mem, LdFrag, InVecNode>,
EVEX_CD8<32, CD8VH>, T8PD, EVEX_V128;
- defm Z256: avx512_pmovx_common<opc, OpcodeStr, sched, v4i64x_info,
+ defm Z256: avx512_pmovx_common<opc, OpcodeStr, schedYZ, v4i64x_info,
v4i32x_info, i128mem, LdFrag, OpNode>,
EVEX_CD8<32, CD8VH>, T8PD, EVEX_V256;
}
let Predicates = [HasAVX512] in {
- defm Z : avx512_pmovx_common<opc, OpcodeStr, sched, v8i64_info,
+ defm Z : avx512_pmovx_common<opc, OpcodeStr, schedYZ, v8i64_info,
v8i32x_info, i256mem, LdFrag, OpNode>,
EVEX_CD8<32, CD8VH>, T8PD, EVEX_V512;
}
}
-defm VPMOVZXBW : avx512_pmovx_bw<0x30, "vpmovzxbw", zext, zext_invec, "z", WriteVPMOV256>;
-defm VPMOVZXBD : avx512_pmovx_bd<0x31, "vpmovzxbd", zext, zext_invec, "z", WriteVPMOV256>;
-defm VPMOVZXBQ : avx512_pmovx_bq<0x32, "vpmovzxbq", zext_invec, "z", WriteVPMOV256>;
-defm VPMOVZXWD : avx512_pmovx_wd<0x33, "vpmovzxwd", zext, zext_invec, "z", WriteVPMOV256>;
-defm VPMOVZXWQ : avx512_pmovx_wq<0x34, "vpmovzxwq", zext, zext_invec, "z", WriteVPMOV256>;
-defm VPMOVZXDQ : avx512_pmovx_dq<0x35, "vpmovzxdq", zext, zext_invec, "z", WriteVPMOV256>;
+defm VPMOVZXBW : avx512_pmovx_bw<0x30, "vpmovzxbw", zext, zext_invec, "z", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVZXBD : avx512_pmovx_bd<0x31, "vpmovzxbd", zext, zext_invec, "z", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVZXBQ : avx512_pmovx_bq<0x32, "vpmovzxbq", zext_invec, "z", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVZXWD : avx512_pmovx_wd<0x33, "vpmovzxwd", zext, zext_invec, "z", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVZXWQ : avx512_pmovx_wq<0x34, "vpmovzxwq", zext, zext_invec, "z", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVZXDQ : avx512_pmovx_dq<0x35, "vpmovzxdq", zext, zext_invec, "z", SchedWriteShuffle.XMM, WriteVPMOV256>;
-defm VPMOVSXBW: avx512_pmovx_bw<0x20, "vpmovsxbw", sext, sext_invec, "s", WriteVPMOV256>;
-defm VPMOVSXBD: avx512_pmovx_bd<0x21, "vpmovsxbd", sext, sext_invec, "s", WriteVPMOV256>;
-defm VPMOVSXBQ: avx512_pmovx_bq<0x22, "vpmovsxbq", sext_invec, "s", WriteVPMOV256>;
-defm VPMOVSXWD: avx512_pmovx_wd<0x23, "vpmovsxwd", sext, sext_invec, "s", WriteVPMOV256>;
-defm VPMOVSXWQ: avx512_pmovx_wq<0x24, "vpmovsxwq", sext, sext_invec, "s", WriteVPMOV256>;
-defm VPMOVSXDQ: avx512_pmovx_dq<0x25, "vpmovsxdq", sext, sext_invec, "s", WriteVPMOV256>;
+defm VPMOVSXBW: avx512_pmovx_bw<0x20, "vpmovsxbw", sext, sext_invec, "s", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVSXBD: avx512_pmovx_bd<0x21, "vpmovsxbd", sext, sext_invec, "s", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVSXBQ: avx512_pmovx_bq<0x22, "vpmovsxbq", sext_invec, "s", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVSXWD: avx512_pmovx_wd<0x23, "vpmovsxwd", sext, sext_invec, "s", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVSXWQ: avx512_pmovx_wq<0x24, "vpmovsxwq", sext, sext_invec, "s", SchedWriteShuffle.XMM, WriteVPMOV256>;
+defm VPMOVSXDQ: avx512_pmovx_dq<0x25, "vpmovsxdq", sext, sext_invec, "s", SchedWriteShuffle.XMM, WriteVPMOV256>;
// Patterns that we also need any extend versions of. aext_vector_inreg
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 2ee0e5aab483e..207660a754e02 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
@@ -632,24 +632,24 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbw (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbw (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxbw (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %ymm19 {%k1}
@@ -825,7 +825,7 @@ vpmovw2m %ymm0, %k0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - 13.33 122.33 - 228.33 89.00 89.00
+# CHECK-NEXT: - - 13.33 128.33 - 222.33 89.00 89.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1013,24 +1013,24 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbw (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbw (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbw (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbw (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbw %xmm16, %ymm19 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
index 696408ca6ec76..1e6e6711aa2de 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -1696,120 +1696,120 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbd (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbq (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovsxdq (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovsxwd (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovsxwq (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbd (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbq (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovzxdq (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovzxwd (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19
-# CHECK-NEXT: 2 8 1.00 * vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: 2 8 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: 2 7 0.50 * vpmovzxwq (%rax), %xmm19
+# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 7 0.50 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpmovzxwq (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %ymm19 {%k1}
@@ -2165,7 +2165,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1935.00 196.00 326.50 - 557.50 328.00 328.00
+# CHECK-NEXT: - 1935.00 196.00 356.50 - 527.50 328.00 328.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2719,120 +2719,120 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbd (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbq (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxdq (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxwd (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxwq (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovsxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbd (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbq (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxdq (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxdq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxwd (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxwd (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwq %xmm16, %xmm19
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwq %xmm16, %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwq %xmm16, %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwq (%rax), %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxwq (%rax), %xmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxwq (%rax), %xmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpmovzxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpmovzxwq (%rax), %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpmovzxwq %xmm16, %ymm19 {%k1}
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 dfd5587c00796..9932946228eac 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bwvl.s
@@ -632,11 +632,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19
@@ -644,11 +644,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm19
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
index e2f523fa1330e..95db8f148b21d 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -1696,11 +1696,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 5 19 2.00 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19
@@ -1708,11 +1708,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19
@@ -1720,11 +1720,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19
@@ -1732,11 +1732,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19
@@ -1744,11 +1744,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19
@@ -1756,11 +1756,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19
@@ -1768,11 +1768,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19
@@ -1780,11 +1780,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19
@@ -1792,11 +1792,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19
@@ -1804,11 +1804,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm19
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 3de9603db612b..9e7b1d500f53b 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512bwvl.s
@@ -632,11 +632,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 6 2.00 vpermw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 3 13 2.00 * vpermw (%rax), %ymm17, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19
@@ -644,11 +644,11 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbw (%rax), %ymm19
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
index 49aa3a4b624b7..f67a40d2a22bc 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -1696,11 +1696,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 5 19 2.00 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 5 17 1.00 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19
@@ -1708,11 +1708,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19
@@ -1720,11 +1720,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19
@@ -1732,11 +1732,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19
@@ -1744,11 +1744,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19
@@ -1756,11 +1756,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19
@@ -1768,11 +1768,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19
@@ -1780,11 +1780,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19
@@ -1792,11 +1792,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19
@@ -1804,11 +1804,11 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 9 1.00 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm19
More information about the llvm-commits
mailing list