[llvm] 4994f87 - [X86] Fix bdver2 128-bit shuffles throughputs
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 10 09:57:44 PDT 2022
Author: Simon Pilgrim
Date: 2022-09-10T17:34:40+01:00
New Revision: 4994f87ca1d9c266936ae8352872fcc5271b1dd4
URL: https://github.com/llvm/llvm-project/commit/4994f87ca1d9c266936ae8352872fcc5271b1dd4
DIFF: https://github.com/llvm/llvm-project/commit/4994f87ca1d9c266936ae8352872fcc5271b1dd4.diff
LOG: [X86] Fix bdver2 128-bit shuffles throughputs
Noticed while trying to get vector ctpop/ctlz/cttz costs fixed using the script from D103695 - all of these are full-rate but the throughput costs were weirdly high for bdver2
Matches AMD 15h SoG, Agner and instlatx64
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleBdVer2.td
llvm/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-ssse3.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-xop.s
llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleBdVer2.td b/llvm/lib/Target/X86/X86ScheduleBdVer2.td
index 51c904c8507d..61424208a4f5 100644
--- a/llvm/lib/Target/X86/X86ScheduleBdVer2.td
+++ b/llvm/lib/Target/X86/X86ScheduleBdVer2.td
@@ -951,16 +951,16 @@ def PdWriteVBROADCASTF128 : SchedWriteRes<[PdFPU01, PdFPFMA]> {
}
def : InstRW<[PdWriteVBROADCASTF128], (instrs VBROADCASTF128)>;
-defm : PdWriteResXMMPair<WriteFVarShuffle, [PdFPU01, PdFPFMA], 3, [1, 2]>;
-defm : PdWriteResYMMPair<WriteFVarShuffleY, [PdFPU01, PdFPFMA], 3, [2, 4], 2>;
+defm : PdWriteResXMMPair<WriteFVarShuffle, [PdFPU1, PdFPXBR], 3>;
+defm : PdWriteResYMMPair<WriteFVarShuffleY, [PdFPU1, PdFPXBR], 3, [2, 2], 2>;
defm : X86WriteResPairUnsupported<WriteFVarShuffleZ>;
-defm : PdWriteResXMMPair<WriteFBlend, [PdFPU01, PdFPFMA], 2, [1, 3]>;
-defm : PdWriteResYMMPair<WriteFBlendY, [PdFPU01, PdFPFMA], 2, [2, 3], 2>;
+defm : PdWriteResXMMPair<WriteFBlend, [PdFPU23, PdFPMAL], 2>;
+defm : PdWriteResYMMPair<WriteFBlendY, [PdFPU23, PdFPMAL], 2, [2, 2], 2>;
defm : X86WriteResPairUnsupported<WriteFBlendZ>;
-defm : PdWriteResXMMPair<WriteFVarBlend, [PdFPU01, PdFPFMA], 2, [1, 3]>;
-defm : PdWriteResYMMPair<WriteFVarBlendY, [PdFPU01, PdFPFMA], 2, [2, 4], 2>;
+defm : PdWriteResXMMPair<WriteFVarBlend, [PdFPU1, PdFPXBR], 2>;
+defm : PdWriteResYMMPair<WriteFVarBlendY, [PdFPU1, PdFPXBR], 2, [2, 2], 2>;
defm : X86WriteResPairUnsupported<WriteFVarBlendZ>;
defm : PdWriteResXMMPair<WriteFShuffle256, [PdFPU01, PdFPFMA], 2, [1, 3], 2>;
@@ -1170,33 +1170,33 @@ defm : X86WriteResPairUnsupported<WritePSADBWZ>;
defm : PdWriteResXMMPair<WritePHMINPOS, [PdFPU0, PdFPMAL], 4, [], 2>;
-defm : PdWriteResXMMPair<WriteShuffle, [PdFPU01, PdFPMAL], 2, [1, 2]>;
-defm : PdWriteResXMMPair<WriteShuffleX, [PdFPU01, PdFPMAL], 2, [1, 2]>;
-defm : PdWriteResYMMPair<WriteShuffleY, [PdFPU01, PdFPMAL], 2, [1, 4]>;
+defm : PdWriteResXMMPair<WriteShuffle, [PdFPU1, PdFPXBR], 2>;
+defm : PdWriteResXMMPair<WriteShuffleX, [PdFPU1, PdFPXBR], 2>;
+defm : PdWriteResYMMPair<WriteShuffleY, [PdFPU1, PdFPXBR], 2, [2, 2]>;
defm : X86WriteResPairUnsupported<WriteShuffleZ>;
-defm : PdWriteResXMMPair<WriteVarShuffle, [PdFPU01, PdFPMAL], 3, [1, 2]>;
-defm : PdWriteResXMMPair<WriteVarShuffleX, [PdFPU01, PdFPMAL], 3, [1, 3]>;
+defm : PdWriteResXMMPair<WriteVarShuffle, [PdFPU1, PdFPXBR], 3>;
+defm : PdWriteResXMMPair<WriteVarShuffleX, [PdFPU1, PdFPXBR], 3>;
defm : X86WriteResPairUnsupported<WriteVarShuffleY>;
defm : X86WriteResPairUnsupported<WriteVarShuffleZ>;
-def PdWriteVPPERM : SchedWriteRes<[PdFPU01, PdFPMAL]> {
+def PdWriteVPPERM : SchedWriteRes<[PdFPU1, PdFPXBR]> {
let Latency = 2;
- let ResourceCycles = [1, 3];
+ let ResourceCycles = [1, 1];
}
def : InstRW<[PdWriteVPPERM], (instrs VPPERMrrr, VPPERMrrr_REV)>;
-def PdWriteVPPERMLd : SchedWriteRes<[PdFPU01, PdFPMAL, PdLoad]> {
+def PdWriteVPPERMLd : SchedWriteRes<[PdFPU1, PdFPXBR, PdLoad]> {
let Latency = 7;
- let ResourceCycles = [1, 3, 3];
+ let ResourceCycles = [1, 1, 3];
}
def : InstRW<[PdWriteVPPERMLd], (instrs VPPERMrrm, VPPERMrmr)>;
-defm : PdWriteResXMMPair<WriteBlend, [PdFPU01, PdFPMAL], 2>;
+defm : PdWriteResXMMPair<WriteBlend, [PdFPU23, PdFPMAL], 2>;
defm : X86WriteResPairUnsupported<WriteBlendY>;
defm : X86WriteResPairUnsupported<WriteBlendZ>;
-defm : PdWriteResXMMPair<WriteVarBlend, [PdFPU01, PdFPMAL], 2, [1, 2]>;
+defm : PdWriteResXMMPair<WriteVarBlend, [PdFPU1, PdFPXBR], 2>;
defm : X86WriteResPairUnsupported<WriteVarBlendY>;
defm : X86WriteResPairUnsupported<WriteVarBlendZ>;
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s
index 699df520142c..e9326939e095 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-3dnow.s
@@ -166,7 +166,7 @@ pswapd (%rax), %mm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 38.00 38.00 - - - - - 8.00 17.50 17.50 3.00 3.00 2.00 8.00 45.50 1.50 1.00 1.00 - 38.00 38.00 - -
+# CHECK-NEXT: 38.00 38.00 - - - - - 8.00 17.50 17.50 1.00 1.00 2.00 8.00 44.50 2.50 1.00 1.00 2.00 38.00 38.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -219,5 +219,5 @@ pswapd (%rax), %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - pmulhrw (%rax), %mm2
# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - prefetch (%rax)
# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - prefetchw (%rax)
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pswapd %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pswapd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pswapd %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pswapd (%rax), %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
index 3ff5ea23779f..36f009d67e0b 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
@@ -1078,19 +1078,19 @@ vzeroupper
# CHECK-NEXT: 1 7 1.50 * vandps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 1.00 vandps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.50 * vandps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.50 vblendpd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 2 0.50 vblendpd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 7 1.50 * vblendpd $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 2 2 1.50 vblendpd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vblendpd $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.50 * vblendpd $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.50 vblendps $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 2 0.50 vblendps $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 7 1.50 * vblendps $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 2 2 1.50 vblendps $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vblendps $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.50 * vblendps $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.50 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 2 1.00 vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 7 1.50 * vblendvpd %xmm3, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 2.00 vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 2.00 * vblendvpd %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.50 vblendvps %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 2 1.00 vblendvps %xmm3, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 7 1.50 * vblendvps %xmm3, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 2.00 vblendvps %ymm3, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 2.00 * vblendvps %ymm3, (%rax), %ymm1, %ymm2
@@ -1548,7 +1548,7 @@ vzeroupper
# CHECK-NEXT: 1 7 1.50 * vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 4 1.00 vpsadbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.50 * vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.50 vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vpshufb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.50 * vpshufb (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vpshufd $1, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * vpshufd $1, (%rax), %xmm2
@@ -1749,7 +1749,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 545.50 545.50 - - - 56.00 - 80.00 1094.50 1094.50 218.50 218.50 54.00 110.00 352.00 282.00 149.00 149.00 24.00 495.50 495.50 - 100.00
+# CHECK-NEXT: 545.50 545.50 - - - 56.00 - 80.00 1056.50 1056.50 161.50 161.50 54.00 110.00 302.00 318.00 156.00 156.00 110.00 495.50 495.50 - 100.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -1801,22 +1801,22 @@ vzeroupper
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vandps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - vandps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - 1.50 1.50 - - vandps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - vblendpd $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.00 1.00 - - - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 1.00 1.00 - - - 1.50 1.50 - - vblendpd $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - vblendps $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.00 1.00 - - - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 1.00 1.00 - - - 1.50 1.50 - - vblendps $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vblendpd $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vblendpd $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - vblendpd $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - 1.50 1.50 - - vblendpd $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vblendps $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vblendps $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - vblendps $11, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - 1.50 1.50 - - vblendps $11, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vblendvpd %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vblendvpd %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vblendvpd %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vblendvpd %ymm3, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vblendvps %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vblendvps %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vblendvps %ymm3, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vblendvps %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - vbroadcastf128 (%rax), %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vbroadcastss (%rax), %xmm2
@@ -2088,14 +2088,14 @@ vzeroupper
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpabsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpabsw %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpackuswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpackssdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpacksswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpackusdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpackuswb (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpaddb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpaddb (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpaddd %xmm0, %xmm1, %xmm2
@@ -2112,8 +2112,8 @@ vzeroupper
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpaddusw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpaddw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpalignr $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpalignr $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpand %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpand (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpandn %xmm0, %xmm1, %xmm2
@@ -2122,10 +2122,10 @@ vzeroupper
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpavgb (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpavgw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpavgw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - vpblendw $11, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - 1.50 1.50 - - vpblendw $11, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpblendw $11, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpblendw $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 7.00 - 1.00 - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 7.00 - 1.00 - - - - 1.50 1.50 - - vpclmulqdq $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpcmpeqb %xmm0, %xmm1, %xmm2
@@ -2156,20 +2156,20 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - - 0.50 0.50 - - - - - - - vperm2f128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - vpermilpd $1, %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermilpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - vpermilpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermilpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpermilpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpermilpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vpermilpd $1, %ymm0, %ymm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermilpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vpermilpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermilpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vpermilpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpermilpd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - vpermilps $1, %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermilps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - vpermilps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermilps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpermilps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpermilps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vpermilps $1, %ymm0, %ymm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermilps $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vpermilps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermilps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vpermilps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpermilps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - 1.00 - - 1.50 1.50 - - - - 1.00 - - - - - - - - vpextrb $1, %xmm0, %ecx
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - 1.00 - 2.00 - - - - - - 1.00 vpextrb $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - 1.00 - - 1.50 1.50 - - - - 1.00 - - - - - - - - vpextrd $1, %xmm0, %ecx
@@ -2229,30 +2229,30 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpminuw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpminuw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - vpmuldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - vpmuldq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - vpmulhrsw %xmm0, %xmm1, %xmm2
@@ -2271,14 +2271,14 @@ vzeroupper
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpsadbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - - - - - vpshufb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - 1.50 1.50 - - vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpshufb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpshuflw $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpsignb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpsignb (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpsignd %xmm0, %xmm1, %xmm2
@@ -2288,7 +2288,7 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpslld $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpslld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpslldq $1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsllq $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsllq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpsllq (%rax), %xmm1, %xmm2
@@ -2304,7 +2304,7 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsrld $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsrld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsrldq $1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsrlq $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpsrlq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpsrlq (%rax), %xmm1, %xmm2
@@ -2331,22 +2331,22 @@ vzeroupper
# CHECK-NEXT: 1.50 1.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 1.50 1.50 - - vptest (%rax), %xmm1
# CHECK-NEXT: - - - - - 1.00 - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vptest %ymm0, %ymm1
# CHECK-NEXT: 1.50 1.50 - - - 1.00 - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vptest (%rax), %ymm1
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpunpcklwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpckhbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpckhdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpckhqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpckhwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpcklbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpckldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpcklqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpunpcklwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpxor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpxor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - vrcpps %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s
index ea06c4b8cfb0..e56b5bde4334 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-mmx.s
@@ -297,7 +297,7 @@ pxor (%rax), %mm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 70.00 70.00 - - - 2.00 - - 3.50 3.50 45.00 45.00 6.00 2.00 19.50 35.50 27.00 27.00 24.00 69.00 69.00 - 2.00
+# CHECK-NEXT: 70.00 70.00 - - - 2.00 - - 3.50 3.50 27.00 27.00 6.00 2.00 10.50 44.50 27.00 27.00 42.00 69.00 69.00 - 2.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -310,12 +310,12 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - 1.50 1.50 - - movq (%rax), %mm2
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - movq %mm0, %rcx
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - 1.00 - - 1.50 1.50 - - - - 1.00 movq %mm0, (%rax)
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packsswb %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packsswb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packssdw %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packssdw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packuswb %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packuswb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packsswb %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packsswb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packssdw %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packssdw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packuswb %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packuswb (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - paddb %mm0, %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - paddb (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - paddd %mm0, %mm2
@@ -392,17 +392,17 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - psubusw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - psubw %mm0, %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - psubw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhbw %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhdq %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhdq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhwd %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhwd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpcklbw %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpcklbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckldq %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckldq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpcklwd %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpcklwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhbw %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhdq %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhdq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhwd %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpcklbw %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpcklbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckldq %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckldq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpcklwd %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpcklwd (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - pxor %mm0, %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pxor (%rax), %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s
index 327d94f9bf1b..8c1f25a22363 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s
@@ -346,7 +346,7 @@ xorps (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 97.00 97.00 - - - 15.00 - 18.00 79.00 79.00 18.50 18.50 2.00 25.00 58.50 33.50 17.50 17.50 - 84.00 84.00 - 26.00
+# CHECK-NEXT: 97.00 97.00 - - - 15.00 - 18.00 79.00 79.00 15.50 15.50 2.00 25.00 57.00 35.00 17.50 17.50 3.00 84.00 84.00 - 26.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -387,7 +387,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - divss %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 4.50 4.50 - - - - - 1.00 - - - 1.50 1.50 - - divss (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - 0.50 0.50 - - ldmxcsr (%rax)
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - maskmovq %mm0, %mm1
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - maskmovq %mm0, %mm1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - maxps %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 1.50 1.50 - - maxps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - maxss %xmm0, %xmm2
@@ -444,8 +444,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - prefetchnta (%rax)
# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - psadbw %mm0, %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - psadbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pshufw $1, %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pshufw $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pshufw $1, %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pshufw $1, (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - rcpps %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 1.50 1.50 - - rcpps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - rcpss %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s
index e32afe7e5530..4ae57c8a8c60 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s
@@ -702,7 +702,7 @@ xorpd (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 184.50 184.50 - - - 17.00 - 42.00 75.00 75.00 83.00 83.00 12.00 50.00 108.00 67.00 53.50 53.50 24.00 176.50 176.50 - 16.00
+# CHECK-NEXT: 184.50 184.50 - - - 17.00 - 42.00 75.00 75.00 53.00 53.00 12.00 50.00 93.00 82.00 53.50 53.50 54.00 176.50 176.50 - 16.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -815,12 +815,12 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 1.50 1.50 - - mulsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - orpd %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - orpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packssdw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packssdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packsswb %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packsswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packuswb %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packuswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packssdw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packssdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packsswb %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packsswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packuswb %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packuswb (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - paddb %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - paddb (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - paddd %xmm0, %xmm2
@@ -887,16 +887,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - por (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - psadbw %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - psadbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pslld $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pslld %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pslld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pslldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pslldq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psllq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psllq %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - psllq (%rax), %xmm2
@@ -912,7 +912,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psrld $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psrld %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - psrld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - psrldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psrldq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psrlq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - psrlq %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - psrlq (%rax), %xmm2
@@ -937,22 +937,22 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - psubusw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - psubw %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - psubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhbw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhqdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckhwd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckhwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpcklbw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpcklbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpckldq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpckldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpcklqdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - punpcklwd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - punpcklwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckhwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpcklbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpckldq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpckldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpcklqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - punpcklwd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - pxor %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pxor (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - shufpd $1, %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
index 45d09c82e808..cb00ddd274de 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
@@ -155,13 +155,13 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 2 1.50 blendpd $11, %xmm0, %xmm2
+# CHECK-NEXT: 1 2 0.50 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * blendpd $11, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.50 blendps $11, %xmm0, %xmm2
+# CHECK-NEXT: 1 2 0.50 blendps $11, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * blendps $11, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.50 blendvpd %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: 1 2 1.00 blendvpd %xmm0, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * blendvpd %xmm0, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.50 blendvps %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: 1 2 1.00 blendvps %xmm0, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * blendvps %xmm0, (%rax), %xmm2
# CHECK-NEXT: 15 15 5.00 dppd $22, %xmm0, %xmm2
# CHECK-NEXT: 17 20 5.00 * dppd $22, (%rax), %xmm2
@@ -279,18 +279,18 @@ roundss $1, (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 68.50 68.50 - - - 6.00 - - 45.00 45.00 52.50 52.50 14.00 13.00 40.50 46.50 9.00 9.00 - 66.00 66.00 - 5.00
+# CHECK-NEXT: 68.50 68.50 - - - 6.00 - - 33.00 33.00 26.50 26.50 14.00 13.00 21.50 59.50 12.00 12.00 32.00 66.00 66.00 - 5.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - blendpd $11, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - blendpd $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - blendps $11, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - blendps $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - blendvpd %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - blendvpd %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - - - - - blendvps %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.50 1.50 - - - - 0.50 0.50 - - - 1.50 1.50 - - blendvps %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - blendpd $11, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - blendpd $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - blendps $11, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - blendps $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - blendvpd %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - blendvpd %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - blendvps %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - blendvps %xmm0, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - - - 1.00 - - - - - - - dppd $22, %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - - 1.00 - - - 1.50 1.50 - - dppd $22, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 7.00 7.00 - - - - - 1.00 - - - - - - - dpps $22, %xmm0, %xmm2
@@ -302,12 +302,12 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - 1.50 1.50 - - movntdqa (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 4.00 - 1.00 - - - - - - - - mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 4.00 - 1.00 - - - - 1.50 1.50 - - mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - packusdw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - packusdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pblendvb %xmm0, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pblendvb %xmm0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - - - - - pblendw $11, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - 1.50 1.50 - - pblendw $11, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - packusdw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - packusdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pblendvb %xmm0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - pblendw $11, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pblendw $11, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - pcmpeqq %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pcmpeqq (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - 1.50 1.50 - - - - 1.00 - - - - - - - - pextrb $1, %xmm0, %ecx
@@ -341,30 +341,30 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pminud (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - pminuw %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pminuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - pmuldq %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - pmuldq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 2.00 - 2.50 0.50 - - - - - - - pmulld %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-ssse3.s
index 842958743c19..abbe17f1a241 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-ssse3.s
@@ -156,7 +156,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1 9 1.50 * pmulhrsw (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 pshufb %mm0, %mm2
# CHECK-NEXT: 1 8 1.50 * pshufb (%rax), %mm2
-# CHECK-NEXT: 1 3 1.50 pshufb %xmm0, %xmm2
+# CHECK-NEXT: 1 3 1.00 pshufb %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.50 * pshufb (%rax), %xmm2
# CHECK-NEXT: 1 2 0.50 psignb %mm0, %mm2
# CHECK-NEXT: 1 7 1.50 * psignb (%rax), %mm2
@@ -198,7 +198,7 @@ psignw (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 48.00 48.00 - - - - - - - - 69.00 69.00 8.00 - 24.00 16.00 12.00 12.00 - 48.00 48.00 - -
+# CHECK-NEXT: 48.00 48.00 - - - - - - - - 60.00 60.00 8.00 - 20.00 20.00 12.00 12.00 8.00 48.00 48.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -214,10 +214,10 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pabsw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - pabsw %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - pabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - palignr $1, %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - palignr $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - palignr $1, %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - palignr $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - palignr $1, %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - palignr $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - palignr $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - - - - - phaddd %mm0, %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - 1.50 1.50 - - phaddd (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - - - - - phaddd %xmm0, %xmm2
@@ -250,10 +250,10 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - pmulhrsw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - pmulhrsw %xmm0, %xmm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - pmulhrsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - pshufb %mm0, %mm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - pshufb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - - - - - pshufb %xmm0, %xmm2
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - 1.50 1.50 - - pshufb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pshufb %mm0, %mm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pshufb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - pshufb %xmm0, %xmm2
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - pshufb (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - psignb %mm0, %mm2
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - psignb (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - psignb %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-xop.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-xop.s
index 8830da5cd779..6ed3e636787a 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-xop.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-xop.s
@@ -321,7 +321,7 @@ vpshlw %xmm0, (%rax), %xmm3
# CHECK-NEXT: 1 9 1.50 * vpmadcsswd %xmm0, (%rax), %xmm1, %xmm3
# CHECK-NEXT: 1 4 1.00 vpmadcswd %xmm0, %xmm1, %xmm2, %xmm3
# CHECK-NEXT: 1 9 1.50 * vpmadcswd %xmm0, (%rax), %xmm1, %xmm3
-# CHECK-NEXT: 1 2 1.50 vpperm %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 1 2 1.00 vpperm %xmm0, %xmm1, %xmm2, %xmm3
# CHECK-NEXT: 1 7 1.50 * vpperm (%rax), %xmm0, %xmm1, %xmm3
# CHECK-NEXT: 1 7 1.50 * vpperm %xmm0, (%rax), %xmm1, %xmm3
# CHECK-NEXT: 1 3 1.00 vprotb %xmm0, %xmm1, %xmm3
@@ -396,7 +396,7 @@ vpshlw %xmm0, (%rax), %xmm3
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: 115.50 115.50 - - - - - - 18.00 18.00 42.50 42.50 32.00 12.00 49.50 107.50 23.00 23.00 44.00 115.50 115.50 - -
+# CHECK-NEXT: 115.50 115.50 - - - - - - - - 29.00 29.00 32.00 12.00 36.00 124.00 23.00 23.00 74.00 115.50 115.50 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -412,12 +412,12 @@ vpshlw %xmm0, (%rax), %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 2.00 - - - - - - - vfrczsd (%rax), %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 10.00 - - - - - - - vfrczss %xmm0, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 2.00 - - - - - - - vfrczss (%rax), %xmm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - - - - - vpcmov %xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpcmov (%rax), %xmm0, %xmm1, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.00 1.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpcmov %xmm0, (%rax), %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - - - - - vpcmov %ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpcmov (%rax), %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 2.00 2.00 - - 0.50 0.50 - - - 1.50 1.50 - - vpcmov %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpcmov %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpcmov (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpcmov %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vpcmov %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpcmov (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpcmov %ymm0, (%rax), %ymm1, %ymm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpcomltb %xmm0, %xmm1, %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpcomltb (%rax), %xmm0, %xmm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpcomltd %xmm0, %xmm1, %xmm3
@@ -434,18 +434,18 @@ vpshlw %xmm0, (%rax), %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpcomltuw (%rax), %xmm0, %xmm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vpcomltw %xmm0, %xmm1, %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vpcomltw (%rax), %xmm0, %xmm3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - vpermil2pd $0, %xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermil2pd $0, (%rax), %xmm0, %xmm1, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermil2pd $0, %xmm0, (%rax), %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vpermil2pd $0, %ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermil2pd $0, (%rax), %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermil2pd $0, %ymm0, (%rax), %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - - - - - vpermil2ps $0, %xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermil2ps $0, (%rax), %xmm0, %xmm1, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 1.00 1.00 - - - - 0.50 0.50 - - - 1.50 1.50 - - vpermil2ps $0, %xmm0, (%rax), %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - - - - - vpermil2ps $0, %ymm0, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermil2ps $0, (%rax), %ymm0, %ymm1, %ymm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 1.50 1.50 - - vpermil2ps $0, %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpermil2pd $0, %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpermil2pd $0, (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpermil2pd $0, %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vpermil2pd $0, %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpermil2pd $0, (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpermil2pd $0, %ymm0, (%rax), %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpermil2ps $0, %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpermil2ps $0, (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpermil2ps $0, %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 2.00 - - 2.00 - - - - vpermil2ps $0, %ymm0, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpermil2ps $0, (%rax), %ymm0, %ymm1, %ymm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 2.00 - - 2.00 1.50 1.50 - - vpermil2ps $0, %ymm0, (%rax), %ymm1, %ymm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vphaddbd %xmm0, %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - 1.50 1.50 - - vphaddbd (%rax), %xmm3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - vphaddbq %xmm0, %xmm3
@@ -500,9 +500,9 @@ vpshlw %xmm0, (%rax), %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - vpmadcsswd %xmm0, (%rax), %xmm1, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - - vpmadcswd %xmm0, %xmm1, %xmm2, %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - 1.00 - 1.00 - - - - 1.50 1.50 - - vpmadcswd %xmm0, (%rax), %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - - - - - vpperm %xmm0, %xmm1, %xmm2, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - 1.50 1.50 - - vpperm (%rax), %xmm0, %xmm1, %xmm3
-# CHECK-NEXT: 1.50 1.50 - - - - - - - - 1.50 1.50 - - 0.50 0.50 - - - 1.50 1.50 - - vpperm %xmm0, (%rax), %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpperm %xmm0, %xmm1, %xmm2, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpperm (%rax), %xmm0, %xmm1, %xmm3
+# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vpperm %xmm0, (%rax), %xmm1, %xmm3
# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vprotb %xmm0, %xmm1, %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vprotb (%rax), %xmm0, %xmm3
# CHECK-NEXT: 1.50 1.50 - - - - - - - - - - - - - 1.00 - - 1.00 1.50 1.50 - - vprotb %xmm0, (%rax), %xmm3
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s b/llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
index 33ea990b57b5..72f072b76464 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
@@ -10,13 +10,13 @@
# CHECK: Iterations: 100
# CHECK-NEXT: Instructions: 600
-# CHECK-NEXT: Total Cycles: 614
+# CHECK-NEXT: Total Cycles: 516
# CHECK-NEXT: Total uOps: 1100
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 1.79
-# CHECK-NEXT: IPC: 0.98
-# CHECK-NEXT: Block RThroughput: 6.0
+# CHECK-NEXT: uOps Per Cycle: 2.13
+# CHECK-NEXT: IPC: 1.16
+# CHECK-NEXT: Block RThroughput: 5.0
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -61,33 +61,33 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: - - - - - - - - 6.00 6.00 - - - - 2.61 3.39 - - - - - - -
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - - 2.00 4.00 - - 1.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
-# CHECK-NEXT: - - - - - - - - 1.58 0.42 - - - - - 1.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.44 1.56 - - - - 0.61 0.39 - - - - - - - vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.58 0.42 - - - - - 1.00 - - - - - - - vmulps %ymm2, %ymm3, %ymm4
-# CHECK-NEXT: - - - - - - - - 0.40 1.60 - - - - 1.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm6
-# CHECK-NEXT: - - - - - - - - 1.58 0.42 - - - - - 1.00 - - - - - - - vmulps %ymm6, %ymm3, %ymm4
-# CHECK-NEXT: - - - - - - - - 0.42 1.58 - - - - 1.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.02 0.98 - - - - - 1.00 - - - - - - - vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - 1.00 - - - - vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.94 1.06 - - - - - 1.00 - - - - - - - vmulps %ymm2, %ymm3, %ymm4
+# CHECK-NEXT: - - - - - - - - 1.04 0.96 - - - - 1.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm6
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - 1.00 - - - - - - - vmulps %ymm6, %ymm3, %ymm4
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 - - - - - - - - vaddps %ymm4, %ymm5, %ymm0
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789 01
+# CHECK-NEXT: 0123456789 012
# CHECK-NEXT: Index 0123456789 0123456789
-# CHECK: [0,0] DeeeeeER . . . . .. vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: [0,1] DeeeE--R . . . . .. vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
-# CHECK-NEXT: [0,2] .D==eeeeeER . . . .. vmulps %ymm2, %ymm3, %ymm4
-# CHECK-NEXT: [0,3] .D=======eeeeeER . . .. vaddps %ymm4, %ymm5, %ymm6
-# CHECK-NEXT: [0,4] . D===========eeeeeER . .. vmulps %ymm6, %ymm3, %ymm4
-# CHECK-NEXT: [0,5] . D================eeeeeER .. vaddps %ymm4, %ymm5, %ymm0
-# CHECK-NEXT: [1,0] . D====================eeeeeER. vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: [1,1] . DeeeE----------------------R. vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
-# CHECK-NEXT: [1,2] . D==eeeeeE-----------------R. vmulps %ymm2, %ymm3, %ymm4
-# CHECK-NEXT: [1,3] . D=======eeeeeE------------R. vaddps %ymm4, %ymm5, %ymm6
-# CHECK-NEXT: [1,4] . D===========eeeeeE--------R vmulps %ymm6, %ymm3, %ymm4
-# CHECK-NEXT: [1,5] . D================eeeeeE---R vaddps %ymm4, %ymm5, %ymm0
+# CHECK: [0,0] DeeeeeER . . . . . . vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: [0,1] D=eeeE-R . . . . . . vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
+# CHECK-NEXT: [0,2] .D===eeeeeER . . . . . vmulps %ymm2, %ymm3, %ymm4
+# CHECK-NEXT: [0,3] .D========eeeeeER . . . . vaddps %ymm4, %ymm5, %ymm6
+# CHECK-NEXT: [0,4] . D============eeeeeER . . . vmulps %ymm6, %ymm3, %ymm4
+# CHECK-NEXT: [0,5] . D=================eeeeeER . . vaddps %ymm4, %ymm5, %ymm0
+# CHECK-NEXT: [1,0] . D=====================eeeeeER. vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: [1,1] . DeeeE-----------------------R. vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
+# CHECK-NEXT: [1,2] . D==eeeeeE------------------R. vmulps %ymm2, %ymm3, %ymm4
+# CHECK-NEXT: [1,3] . D=======eeeeeE-------------R. vaddps %ymm4, %ymm5, %ymm6
+# CHECK-NEXT: [1,4] . D===========eeeeeE---------R vmulps %ymm6, %ymm3, %ymm4
+# CHECK-NEXT: [1,5] . D================eeeeeE----R vaddps %ymm4, %ymm5, %ymm0
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -96,10 +96,10 @@
# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
# CHECK: [0] [1] [2] [3]
-# CHECK-NEXT: 0. 2 11.0 0.5 0.0 vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1. 2 1.0 1.0 12.0 vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
-# CHECK-NEXT: 2. 2 3.0 0.0 8.5 vmulps %ymm2, %ymm3, %ymm4
-# CHECK-NEXT: 3. 2 8.0 0.0 6.0 vaddps %ymm4, %ymm5, %ymm6
-# CHECK-NEXT: 4. 2 12.0 0.0 4.0 vmulps %ymm6, %ymm3, %ymm4
-# CHECK-NEXT: 5. 2 17.0 0.0 1.5 vaddps %ymm4, %ymm5, %ymm0
-# CHECK-NEXT: 2 8.7 0.3 5.3 <total>
+# CHECK-NEXT: 0. 2 11.5 0.5 0.0 vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1. 2 1.5 1.5 12.0 vpermil2pd $15, %xmm3, %xmm5, %xmm1, %xmm2
+# CHECK-NEXT: 2. 2 3.5 0.0 9.0 vmulps %ymm2, %ymm3, %ymm4
+# CHECK-NEXT: 3. 2 8.5 0.0 6.5 vaddps %ymm4, %ymm5, %ymm6
+# CHECK-NEXT: 4. 2 12.5 0.0 4.5 vmulps %ymm6, %ymm3, %ymm4
+# CHECK-NEXT: 5. 2 17.5 0.0 2.0 vaddps %ymm4, %ymm5, %ymm0
+# CHECK-NEXT: 2 9.2 0.3 5.7 <total>
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s b/llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
index 560ea24ee30a..df03ff86dbbf 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
@@ -40,13 +40,13 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: Iterations: 100
# CHECK-NEXT: Instructions: 300
-# CHECK-NEXT: Total Cycles: 255
+# CHECK-NEXT: Total Cycles: 205
# CHECK-NEXT: Total uOps: 600
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 2.35
-# CHECK-NEXT: IPC: 1.18
-# CHECK-NEXT: Block RThroughput: 2.5
+# CHECK-NEXT: uOps Per Cycle: 2.93
+# CHECK-NEXT: IPC: 1.46
+# CHECK-NEXT: Block RThroughput: 2.0
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -59,7 +59,7 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 5 1.00 vaddps %ymm0, %ymm0, %ymm1
# CHECK-NEXT: 2 2 1.00 vxorps %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 2 2 1.50 vblendps $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 2 2 1.00 vblendps $2, %ymm1, %ymm2, %ymm3
# CHECK: Resources:
# CHECK-NEXT: [0.0] - PdAGLU01
@@ -88,13 +88,13 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: - - - - - - - - 2.48 2.52 1.00 1.00 - - 1.02 1.98 1.00 1.00 - - - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 2.00 2.00 - - 1.00 - 2.00 2.00 - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.98 1.02 - - - - 1.00 - - - - - - - - vaddps %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - vxorps %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.02 1.98 - - - - - - - vblendps $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 - - - - - - - - vaddps %ymm0, %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - 2.00 - - - - - vxorps %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - 2.00 - - - - - - vblendps $2, %ymm1, %ymm2, %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: 0
@@ -105,10 +105,10 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK-NEXT: [0,2] .D=eeE-R . vblendps $2, %ymm1, %ymm2, %ymm3
# CHECK-NEXT: [1,0] .DeeeeeER . vaddps %ymm0, %ymm0, %ymm1
# CHECK-NEXT: [1,1] . DeeE--R . vxorps %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [1,2] . D===eeER. vblendps $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: [1,2] . D==eeER . vblendps $2, %ymm1, %ymm2, %ymm3
# CHECK-NEXT: [2,0] . DeeeeeER vaddps %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: [2,1] . DeeE---R vxorps %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [2,2] . D=eeE-R vblendps $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: [2,1] . D=eeE--R vxorps %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [2,2] . D==eeER vblendps $2, %ymm1, %ymm2, %ymm3
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -118,21 +118,21 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: [0] [1] [2] [3]
# CHECK-NEXT: 0. 3 1.0 1.0 0.0 vaddps %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: 1. 3 1.0 1.0 2.7 vxorps %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 2. 3 2.7 0.3 0.7 vblendps $2, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT: 3 1.6 0.8 1.1 <total>
+# CHECK-NEXT: 1. 3 1.3 1.3 2.3 vxorps %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 2. 3 2.7 0.0 0.3 vblendps $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 3 1.7 0.8 0.9 <total>
# CHECK: [1] Code Region - ZERO-IDIOM-2
# CHECK: Iterations: 100
# CHECK-NEXT: Instructions: 300
-# CHECK-NEXT: Total Cycles: 255
+# CHECK-NEXT: Total Cycles: 205
# CHECK-NEXT: Total uOps: 600
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 2.35
-# CHECK-NEXT: IPC: 1.18
-# CHECK-NEXT: Block RThroughput: 2.5
+# CHECK-NEXT: uOps Per Cycle: 2.93
+# CHECK-NEXT: IPC: 1.46
+# CHECK-NEXT: Block RThroughput: 2.0
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -145,7 +145,7 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 5 1.00 vaddpd %ymm0, %ymm0, %ymm1
# CHECK-NEXT: 2 2 1.00 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 2 2 1.50 vblendpd $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 2 2 1.00 vblendpd $2, %ymm1, %ymm2, %ymm3
# CHECK: Resources:
# CHECK-NEXT: [0.0] - PdAGLU01
@@ -174,13 +174,13 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
-# CHECK-NEXT: - - - - - - - - 2.48 2.52 1.00 1.00 - - 1.02 1.98 1.00 1.00 - - - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 2.00 2.00 - - 1.00 - 2.00 2.00 - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.98 1.02 - - - - 1.00 - - - - - - - - vaddpd %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - - - - vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 0.02 1.98 - - - - - - - vblendpd $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 - - - - - - - - vaddpd %ymm0, %ymm0, %ymm1
+# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - 2.00 - - - - - vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - 2.00 - - - - - - vblendpd $2, %ymm1, %ymm2, %ymm3
# CHECK: Timeline view:
# CHECK-NEXT: 0
@@ -191,10 +191,10 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK-NEXT: [0,2] .D=eeE-R . vblendpd $2, %ymm1, %ymm2, %ymm3
# CHECK-NEXT: [1,0] .DeeeeeER . vaddpd %ymm0, %ymm0, %ymm1
# CHECK-NEXT: [1,1] . DeeE--R . vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [1,2] . D===eeER. vblendpd $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: [1,2] . D==eeER . vblendpd $2, %ymm1, %ymm2, %ymm3
# CHECK-NEXT: [2,0] . DeeeeeER vaddpd %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: [2,1] . DeeE---R vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [2,2] . D=eeE-R vblendpd $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: [2,1] . D=eeE--R vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [2,2] . D==eeER vblendpd $2, %ymm1, %ymm2, %ymm3
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -204,9 +204,9 @@ vaddps %ymm1, %ymm1, %ymm0
# CHECK: [0] [1] [2] [3]
# CHECK-NEXT: 0. 3 1.0 1.0 0.0 vaddpd %ymm0, %ymm0, %ymm1
-# CHECK-NEXT: 1. 3 1.0 1.0 2.7 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 2. 3 2.7 0.3 0.7 vblendpd $2, %ymm1, %ymm2, %ymm3
-# CHECK-NEXT: 3 1.6 0.8 1.1 <total>
+# CHECK-NEXT: 1. 3 1.3 1.3 2.3 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 2. 3 2.7 0.0 0.3 vblendpd $2, %ymm1, %ymm2, %ymm3
+# CHECK-NEXT: 3 1.7 0.8 0.9 <total>
# CHECK: [2] Code Region - ZERO-IDIOM-3
diff --git a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
index bcf9e155943d..cdf13271722e 100644
--- a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
+++ b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
@@ -55,7 +55,7 @@ vblendvps %xmm1, (%rdi), %xmm2, %xmm3
# BDVER2: Dispatch Width: 4
# BDVER2-NEXT: uOps Per Cycle: 0.20
# BDVER2-NEXT: IPC: 0.20
-# BDVER2-NEXT: Block RThroughput: 2.0
+# BDVER2-NEXT: Block RThroughput: 1.5
# BDWELL: Dispatch Width: 4
# BDWELL-NEXT: uOps Per Cycle: 0.40
diff --git a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
index 56e5693c1fdd..46cf892796a7 100644
--- a/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
+++ b/llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
@@ -55,7 +55,7 @@ vblendvps %xmm1, (%rdi), %xmm2, %xmm3
# BDVER2: Dispatch Width: 4
# BDVER2-NEXT: uOps Per Cycle: 0.20
# BDVER2-NEXT: IPC: 0.20
-# BDVER2-NEXT: Block RThroughput: 2.0
+# BDVER2-NEXT: Block RThroughput: 1.5
# BDWELL: Dispatch Width: 4
# BDWELL-NEXT: uOps Per Cycle: 0.40
More information about the llvm-commits
mailing list