[llvm] 90df664 - [MCA][X86] Fix throughput of (V)PMOV extension/truncation 512-bit instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 26 04:04:45 PST 2024
Author: Simon Pilgrim
Date: 2024-11-26T12:04:19Z
New Revision: 90df66455b2ff6a3b3754a56afafc05935a05e15
URL: https://github.com/llvm/llvm-project/commit/90df66455b2ff6a3b3754a56afafc05935a05e15
DIFF: https://github.com/llvm/llvm-project/commit/90df66455b2ff6a3b3754a56afafc05935a05e15.diff
LOG: [MCA][X86] Fix throughput of (V)PMOV extension/truncation 512-bit instructions
znver4 512-bit instructions are half rate of 128/256-bit variants (still 1uop though)
Confirmed with Agner/uops.info
Noticed while triaging #110308 and #117579
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleZnver4.td
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver4.td b/llvm/lib/Target/X86/X86ScheduleZnver4.td
index bb412fa88b0f12..38f9b5ef1d80be 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver4.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver4.td
@@ -1652,7 +1652,7 @@ def : InstRW<[Zn4MOVS], (instregex
def Zn4MOVSZ: SchedWriteRes<[Zn4FPFMisc12]> {
let Latency = 4;
- let ReleaseAtCycles = [4];
+ let ReleaseAtCycles = [2];
let NumMicroOps = 1;
}
def : InstRW<[Zn4MOVSZ], (instregex
@@ -1661,7 +1661,7 @@ def : InstRW<[Zn4MOVSZ], (instregex
def Zn4MOVSrr: SchedWriteRes<[Zn4FPFMisc12]> {
let Latency = 5;
- let ReleaseAtCycles = [5];
+ let ReleaseAtCycles = [2];
let NumMicroOps = 1;
}
def : InstRW<[Zn4MOVSrr], (instregex
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index ca0a81e4207d53..72d7de33533467 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -1736,140 +1736,140 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovdb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovdb %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovdb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: 1 5 1.00 vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovdw %zmm19, %ymm16
# CHECK-NEXT: 1 11 1.50 * vpmovdw %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovdw %zmm19, %ymm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovqb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovqb %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovqb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: 1 5 1.00 vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovqd %zmm19, %ymm16
# CHECK-NEXT: 1 11 1.50 * vpmovqd %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovqd %zmm19, %ymm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovqw %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovqw %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovqw %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovsdb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovsdb %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovsdb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovsdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: 1 5 1.00 vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovsdw %zmm19, %ymm16
# CHECK-NEXT: 1 11 1.50 * vpmovsdw %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovsdw %zmm19, %ymm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovsdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovsqb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovsqb %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovsqb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovsqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: 1 5 1.00 vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovsqd %zmm19, %ymm16
# CHECK-NEXT: 1 11 1.50 * vpmovsqd %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovsqd %zmm19, %ymm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovsqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovsqw %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovsqw %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovsqw %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovsqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovsxbd %xmm16, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpmovsqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovsxbd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbd %xmm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovsxbd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbd %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovsxbq %xmm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovsxbq %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovsxbq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbq %xmm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovsxbq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovsxdq %ymm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovsxdq %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovsxdq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovsxdq %ymm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovsxdq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxdq %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxdq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovsxwd %ymm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovsxwd %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovsxwd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovsxwd %ymm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovsxwd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxwd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovsxwq %xmm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovsxwq %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovsxwq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovsxwq %xmm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxwq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovusdb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovusdb %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovusdb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovusdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovusdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: 1 5 1.00 vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovusdw %zmm19, %ymm16
# CHECK-NEXT: 1 11 1.50 * vpmovusdw %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovusdw %zmm19, %ymm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovusdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovusdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovusqb %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovusqb %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovusqb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovusqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovusqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: 1 5 1.00 vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovusqd %zmm19, %ymm16
# CHECK-NEXT: 1 11 1.50 * vpmovusqd %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovusqd %zmm19, %ymm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovusqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovusqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: 1 5 1.00 vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovusqw %zmm19, %xmm16
# CHECK-NEXT: 1 11 1.50 * vpmovusqw %zmm19, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovusqw %zmm19, %xmm16 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovusqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovusqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovzxbd %xmm16, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpmovusqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovzxbd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbd %xmm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovzxbd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbd %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovzxbq %xmm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovzxbq %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovzxbq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbq %xmm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovzxbq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovzxdq %ymm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovzxdq %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovzxdq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovzxdq %ymm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovzxdq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxdq %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxdq (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovzxwd %ymm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovzxwd %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovzxwd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovzxwd %ymm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovzxwd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxwd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwd (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovzxwq %xmm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovzxwq %xmm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovzxwq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovzxwq %xmm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovzxwq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxwq %xmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxwq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmulld %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 1 10 1.00 * vpmulld (%rax), %zmm17, %zmm19
@@ -2233,7 +2233,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {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 - - - - - 219.50 1216.50 774.00 351.00 312.50 312.50 17.00 215.67 215.67 215.67 204.67 204.67 204.67 16.50 16.50
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 219.50 1119.00 676.50 351.00 312.50 312.50 17.00 215.67 215.67 215.67 204.67 204.67 204.67 16.50 16.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:
@@ -2793,140 +2793,140 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherdd (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqq (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpgatherqd (%rax,%zmm1,2), %ymm2 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbd %xmm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbq %xmm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxdq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxdq %ymm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwd %ymm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxwq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxwq %xmm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusdw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusdw %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqb %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqb %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqd %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqd %zmm19, %ymm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %zmm19, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovusqw %zmm19, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovusqw %zmm19, %xmm16 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbd %xmm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbq %xmm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxdq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxdq %ymm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwd (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwd %ymm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxwq (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxwq %xmm16, %zmm19 {%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), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulld %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulld (%rax), %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
index 3280ed3b8aab6f..ffdfe3fe98955e 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512bw.s
@@ -912,32 +912,32 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 1 1.00 vpmovw2m %zmm0, %k0
# CHECK-NEXT: 1 0 0.17 vpmovm2b %k0, %zmm0
# CHECK-NEXT: 1 0 0.17 vpmovm2w %k0, %zmm0
-# CHECK-NEXT: 1 4 2.00 vpmovsxbw %ymm16, %zmm19
+# CHECK-NEXT: 1 4 1.00 vpmovsxbw %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovsxbw %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbw %ymm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovsxbw %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovsxbw %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovsxbw (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovswb %zmm16, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpmovswb %zmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovswb %zmm16, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovswb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovswb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovuswb %zmm16, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpmovswb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %zmm16, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovuswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovuswb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovuswb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 5 2.50 vpmovwb %zmm16, %ymm19
+# CHECK-NEXT: 1 5 1.00 vpmovuswb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 1.00 vpmovwb %zmm16, %ymm19
# CHECK-NEXT: 1 11 1.50 * vpmovwb %zmm16, (%rax)
-# CHECK-NEXT: 1 5 2.50 vpmovwb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 1.00 vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovwb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: 1 5 2.50 vpmovwb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: 1 4 2.00 vpmovzxbw %ymm16, %zmm19
+# CHECK-NEXT: 1 5 1.00 vpmovwb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %zmm19
-# CHECK-NEXT: 1 4 2.00 vpmovzxbw %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbw %ymm16, %zmm19 {%k1}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %zmm19 {%k1}
-# CHECK-NEXT: 1 4 2.00 vpmovzxbw %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vpmovzxbw %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 11 1.50 * vpmovzxbw (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 vpmulhrsw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 1 10 1.00 * vpmulhrsw (%rax), %zmm17, %zmm19
@@ -1145,7 +1145,7 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {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: 0.67 0.67 0.67 2.00 2.00 2.00 2.00 - 177.50 322.50 288.00 161.00 123.00 123.00 6.00 77.33 77.33 77.33 75.33 75.33 75.33 3.00 3.00
+# CHECK-NEXT: 0.67 0.67 0.67 2.00 2.00 2.00 2.00 - 177.50 303.00 268.50 161.00 123.00 123.00 6.00 77.33 77.33 77.33 75.33 75.33 75.33 3.00 3.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:
@@ -1447,32 +1447,32 @@ vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2b %k0, %zmm0
# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - vpmovm2w %k0, %zmm0
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovsxbw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovsxbw %ymm16, %zmm19 {%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), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovswb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovswb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovuswb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovuswb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %zmm16, (%rax)
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovwb %zmm16, (%rax) {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovwb %zmm16, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19
# CHECK-NEXT: - - - - - - - - - 1.50 1.50 - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmovzxbw (%rax), %zmm19
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%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), %zmm19 {%k1}
-# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - - - - - - - - - - vpmovzxbw %ymm16, %zmm19 {%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), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 - - - - - - - - - - - vpmulhrsw %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - - 1.00 - - 1.00 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vpmulhrsw (%rax), %zmm17, %zmm19
More information about the llvm-commits
mailing list