[llvm] 630a6dd - [X86] Fix throughput of AVX2/AVX512VL vector extension/truncations
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 16 02:52:59 PDT 2024
Author: Simon Pilgrim
Date: 2024-06-16T10:03:21+01:00
New Revision: 630a6dd687ab4ec2038fc957fc8722c983aa4147
URL: https://github.com/llvm/llvm-project/commit/630a6dd687ab4ec2038fc957fc8722c983aa4147
DIFF: https://github.com/llvm/llvm-project/commit/630a6dd687ab4ec2038fc957fc8722c983aa4147.diff
LOG: [X86] Fix throughput of AVX2/AVX512VL vector extension/truncations
These should only consume 1cy on either of the 2 pipes (only zmm ops should double pump) - matches AMD SoG + uops.info
Noticed while updating costs for #90748
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleZnver4.td
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index 7107dbc63e279..420c42928c1c4 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -1631,17 +1631,25 @@ def : InstRW<[Zn4WriteFCmp64], (instregex
)>;
// MOV Instructions
-def Zn4MOVS: SchedWriteRes<[Zn4FPFMisc12]> {
+def Zn4MOVDUPZ: SchedWriteRes<[Zn4FPFMisc12]> {
let Latency = 2;
let ReleaseAtCycles = [2];
let NumMicroOps = 1;
}
+def : InstRW<[Zn4MOVDUPZ], (instregex
+ "(V?)VMOVDDUP(Z|Z128|Z256)(rr|rrk|rrkz)"
+ )>;
+
+def Zn4MOVS: SchedWriteRes<[Zn4FPFMisc12]> {
+ let Latency = 2;
+ let ReleaseAtCycles = [1];
+ let NumMicroOps = 1;
+}
def : InstRW<[Zn4MOVS], (instregex
"(V?)PMOV(SX|ZX)(BD|BQ|BW|WD|WQ|DQ)(Z128?|Z256?)(rr|rrk|rrkz)",
"(V?)PMOV(SX|QD|UZ|ZX)(BD|BQ|BW?)(Y|Z128?)(rr|rrk|rrkz)",
"(V?)PMOV(SX|US|ZX)(DQ|WD|QW|WQ?)(Y|Z128?)(rr|rrk|rrkz)",
- "(V?)VMOVDDUP(Z|Z128|Z256)(rr|rrk|rrkz)",
- "VPMOV(DB|DW|QB|QD|QW|SDB|SDW|SQB|SQD|SQW|SWB|USDB|USDW|USQB|USQD|USWB|WB)(Z128?)(rr|rrk|rrkz)"
+ "VPMOV(DB|DW|QB|QD|QW|SDB|SDW|SQB|SQD|SQW|SWB|USDB|USDW|USQB|USQD|USWB|WB)(Z128?|Z256?)(rr|rrk|rrkz)"
)>;
def Zn4MOVSZ: SchedWriteRes<[Zn4FPFMisc12]> {
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
index 95895352f26f6..0ad14688d0b7f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
@@ -625,29 +625,29 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.25 vpminuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpmovmskb %ymm0, %ecx
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm0, %ymm2
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %ymm2
# CHECK-NEXT: 1 3 0.50 vpmuldq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 10 0.50 * vpmuldq (%rax), %ymm1, %ymm2
@@ -789,7 +789,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 6.67 6.67 6.67 - - - - - 93.75 138.75 98.25 36.25 80.50 80.50 29.00 52.33 52.33 52.33 50.67 50.67 50.67 2.50 2.50
+# CHECK-NEXT: 6.67 6.67 6.67 - - - - - 93.75 132.75 92.25 36.25 80.50 80.50 29.00 52.33 52.33 52.33 50.67 50.67 50.67 2.50 2.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -958,29 +958,29 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - - - - - - - - - - - vpminuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - - - - - - vpmovmskb %ymm0, %ecx
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm0, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmuldq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmuldq (%rax), %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
index 3ac35f55b7ee4..8a62f803fce07 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bwvl.s
@@ -1604,53 +1604,53 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 0 0.17 vpmovm2w %k0, %xmm0
# CHECK-NEXT: 1 0 0.17 vpmovm2b %k0, %ymm0
# CHECK-NEXT: 1 0 0.17 vpmovm2w %k0, %ymm0
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovswb %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovswb %xmm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovswb %xmm16, (%rax)
-# CHECK-NEXT: 1 2 1.00 vpmovswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: 2 4 1.50 vpmovswb %ymm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovswb %ymm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovswb %ymm16, (%rax)
-# CHECK-NEXT: 2 4 1.50 vpmovswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovuswb %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %xmm16, (%rax)
-# CHECK-NEXT: 1 2 1.00 vpmovuswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: 2 4 1.50 vpmovuswb %ymm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %ymm16, (%rax)
-# CHECK-NEXT: 2 4 1.50 vpmovuswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovwb %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovwb %xmm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovwb %xmm16, (%rax)
-# CHECK-NEXT: 1 2 1.00 vpmovwb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovwb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: 2 4 1.50 vpmovwb %ymm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovwb %ymm16, %xmm19
# CHECK-NEXT: 1 11 1.50 * vpmovwb %ymm16, (%rax)
-# CHECK-NEXT: 2 4 1.50 vpmovwb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovwb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 0.50 vpmulhrsw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 1 10 0.50 * vpmulhrsw (%rax), %xmm17, %xmm19
@@ -2036,7 +2036,7 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 233.00 423.50 312.50 140.00 226.00 226.00 8.00 150.67 150.67 150.67 148.00 148.00 148.00 4.00 4.00
+# CHECK-NEXT: - - - 4.00 4.00 4.00 4.00 - 233.00 408.50 297.50 140.00 226.00 226.00 8.00 150.67 150.67 150.67 148.00 148.00 148.00 4.00 4.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -2552,53 +2552,53 @@ vpunpcklwd (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %xmm0
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %ymm0
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %ymm0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovuswb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %xmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %xmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %ymm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovwb %ymm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %ymm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbw %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulhrsw %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %xmm17, %xmm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
index e2813a564384c..2d26eb50351a0 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
@@ -2759,125 +2759,125 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm16, %xmm19
# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm16, %ymm19
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %ymm19
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: 1 2 1.00 vpmovzxwq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 2 0.50 vpmovzxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 0.50 vpmulld %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 1 10 0.50 * vpmulld (%rax), %xmm17, %xmm19
@@ -3243,7 +3243,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 208.00 978.00 531.50 261.50 478.50 478.50 32.00 324.33 324.33 324.33 313.67 313.67 313.67 16.00 16.00
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 208.00 948.00 501.50 261.50 478.50 478.50 32.00 324.33 324.33 324.33 313.67 313.67 313.67 16.00 16.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -4297,125 +4297,125 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%xmm1,2), %xmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%xmm1,2), %xmm2 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovsxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxbq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxdq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwd %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %xmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - - - - - - - - - - vpmovzxwq %xmm16, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - - - - - - - - - - - vpmulld %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %xmm17, %xmm19
More information about the llvm-commits
mailing list