[llvm] 6bb1626 - [X86] Fix simd integer ALU and shuffle port allocations
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 30 07:25:59 PDT 2022
Author: Simon Pilgrim
Date: 2022-10-30T14:23:56Z
New Revision: 6bb1626e5a5c171ccca536e25c22c3d1e2192ca6
URL: https://github.com/llvm/llvm-project/commit/6bb1626e5a5c171ccca536e25c22c3d1e2192ca6
DIFF: https://github.com/llvm/llvm-project/commit/6bb1626e5a5c171ccca536e25c22c3d1e2192ca6.diff
LOG: [X86] Fix simd integer ALU and shuffle port allocations
znver1/2 uses pipes0/1/3 for most integer ALU and nearly all integer/float shuffles occur on pipes1/2
More cleanup work to hopefully get shuffle kinds costs testing added to the D103695 script sometime soon
Confirmed with the AMD SoG, Agner + instlatx64
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleZnver1.td
llvm/lib/Target/X86/X86ScheduleZnver2.td
llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-mmx.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse41.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-ssse3.s
llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver1.td b/llvm/lib/Target/X86/X86ScheduleZnver1.td
index a7b4d6f98315..9d11c5ef11ae 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver1.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver1.td
@@ -372,8 +372,8 @@ defm : ZnWriteResFpuPair<WriteFSqrt64X, [ZnFPU3], 20, [8]>;
defm : ZnWriteResFpuPair<WriteFSqrt64Y, [ZnFPU3], 20, [16], 2>;
defm : X86WriteResPairUnsupported<WriteFSqrt64Z>;
defm : ZnWriteResFpuPair<WriteFSqrt80, [ZnFPU3], 20, [20]>;
-defm : ZnWriteResFpuPair<WriteFShuffle256, [ZnFPU], 2, [2], 2>;
-defm : ZnWriteResFpuPair<WriteFVarShuffle256, [ZnFPU], 2, [2], 2>;
+defm : ZnWriteResFpuPair<WriteFShuffle256, [ZnFPU12], 2, [2], 2>;
+defm : ZnWriteResFpuPair<WriteFVarShuffle256, [ZnFPU12], 2, [2], 2>;
// Vector integer operations which uses FPU units
defm : X86WriteRes<WriteVecLoad, [ZnAGU], 8, [1], 1>;
@@ -418,9 +418,9 @@ defm : X86WriteResPairUnsupported<WriteVecLogicZ>;
defm : ZnWriteResFpuPair<WriteVecTest, [ZnFPU12], 2, [2], 1, 7, 1>;
defm : ZnWriteResFpuPair<WriteVecTestY, [ZnFPU12], 4, [4], 3, 7, 2>;
defm : X86WriteResPairUnsupported<WriteVecTestZ>;
-defm : ZnWriteResFpuPair<WriteVecALU, [ZnFPU], 1>;
-defm : ZnWriteResFpuPair<WriteVecALUX, [ZnFPU], 1>;
-defm : ZnWriteResFpuPair<WriteVecALUY, [ZnFPU], 1, [2], 2>;
+defm : ZnWriteResFpuPair<WriteVecALU, [ZnFPU013], 1>;
+defm : ZnWriteResFpuPair<WriteVecALUX, [ZnFPU013], 1>;
+defm : ZnWriteResFpuPair<WriteVecALUY, [ZnFPU013], 1, [2], 2>;
defm : X86WriteResPairUnsupported<WriteVecALUZ>;
defm : ZnWriteResFpuPair<WriteVecIMul, [ZnFPU0], 4>;
defm : ZnWriteResFpuPair<WriteVecIMulX, [ZnFPU0], 4>;
@@ -429,20 +429,20 @@ defm : X86WriteResPairUnsupported<WriteVecIMulZ>;
defm : ZnWriteResFpuPair<WritePMULLD, [ZnFPU0], 4, [2]>;
defm : ZnWriteResFpuPair<WritePMULLDY, [ZnFPU0], 4, [4], 2>;
defm : X86WriteResPairUnsupported<WritePMULLDZ>;
-defm : ZnWriteResFpuPair<WriteShuffle, [ZnFPU], 1>;
-defm : ZnWriteResFpuPair<WriteShuffleX, [ZnFPU], 1>;
-defm : ZnWriteResFpuPair<WriteShuffleY, [ZnFPU], 1, [2], 2>;
+defm : ZnWriteResFpuPair<WriteShuffle, [ZnFPU12], 1>;
+defm : ZnWriteResFpuPair<WriteShuffleX, [ZnFPU12], 1>;
+defm : ZnWriteResFpuPair<WriteShuffleY, [ZnFPU12], 1, [2], 2>;
defm : X86WriteResPairUnsupported<WriteShuffleZ>;
-defm : ZnWriteResFpuPair<WriteVarShuffle, [ZnFPU], 1>;
-defm : ZnWriteResFpuPair<WriteVarShuffleX,[ZnFPU], 1>;
-defm : ZnWriteResFpuPair<WriteVarShuffleY,[ZnFPU], 1, [2], 2>;
+defm : ZnWriteResFpuPair<WriteVarShuffle, [ZnFPU12], 1>;
+defm : ZnWriteResFpuPair<WriteVarShuffleX,[ZnFPU12], 1>;
+defm : ZnWriteResFpuPair<WriteVarShuffleY,[ZnFPU12], 1, [2], 2>;
defm : X86WriteResPairUnsupported<WriteVarShuffleZ>;
defm : ZnWriteResFpuPair<WriteBlend, [ZnFPU01], 1>;
defm : ZnWriteResFpuPair<WriteBlendY, [ZnFPU01], 1, [2], 2>;
defm : X86WriteResPairUnsupported<WriteBlendZ>;
-defm : ZnWriteResFpuPair<WriteShuffle256, [ZnFPU], 2, [2], 2>;
-defm : ZnWriteResFpuPair<WriteVPMOV256, [ZnFPU12], 1, [4], 3>;
-defm : ZnWriteResFpuPair<WriteVarShuffle256, [ZnFPU], 2, [2], 2>;
+defm : ZnWriteResFpuPair<WriteShuffle256, [ZnFPU12], 2, [2], 2>;
+defm : ZnWriteResFpuPair<WriteVPMOV256, [ZnFPU12], 1, [4], 3>;
+defm : ZnWriteResFpuPair<WriteVarShuffle256, [ZnFPU12],2, [2], 2>;
defm : ZnWriteResFpuPair<WritePSADBW, [ZnFPU0], 3>;
defm : ZnWriteResFpuPair<WritePSADBWX, [ZnFPU0], 3>;
defm : ZnWriteResFpuPair<WritePSADBWY, [ZnFPU0], 3, [2], 2>;
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver2.td b/llvm/lib/Target/X86/X86ScheduleZnver2.td
index 788b71e6beab..7399a4709fab 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver2.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver2.td
@@ -371,8 +371,8 @@ defm : Zn2WriteResFpuPair<WriteFSqrt64X, [Zn2FPU3], 20, [10]>;
defm : Zn2WriteResFpuPair<WriteFSqrt64Y, [Zn2FPU3], 20, [10]>;
defm : X86WriteResPairUnsupported<WriteFSqrt64Z>;
defm : Zn2WriteResFpuPair<WriteFSqrt80, [Zn2FPU3], 20, [20]>;
-defm : Zn2WriteResFpuPair<WriteFShuffle256, [Zn2FPU], 2>;
-defm : Zn2WriteResFpuPair<WriteFVarShuffle256, [Zn2FPU], 2>;
+defm : Zn2WriteResFpuPair<WriteFShuffle256, [Zn2FPU12], 2>;
+defm : Zn2WriteResFpuPair<WriteFVarShuffle256, [Zn2FPU12], 2>;
// Vector integer operations which uses FPU units
defm : X86WriteRes<WriteVecLoad, [Zn2AGU], 8, [1], 1>;
@@ -417,9 +417,9 @@ defm : X86WriteResPairUnsupported<WriteVecLogicZ>;
defm : Zn2WriteResFpuPair<WriteVecTest, [Zn2FPU12], 3, [2], 1, 7, 1>;
defm : Zn2WriteResFpuPair<WriteVecTestY, [Zn2FPU12], 3, [2], 1, 7, 1>;
defm : X86WriteResPairUnsupported<WriteVecTestZ>;
-defm : Zn2WriteResFpuPair<WriteVecALU, [Zn2FPU], 1>;
-defm : Zn2WriteResFpuPair<WriteVecALUX, [Zn2FPU], 1>;
-defm : Zn2WriteResFpuPair<WriteVecALUY, [Zn2FPU], 1>;
+defm : Zn2WriteResFpuPair<WriteVecALU, [Zn2FPU013], 1>;
+defm : Zn2WriteResFpuPair<WriteVecALUX, [Zn2FPU013], 1>;
+defm : Zn2WriteResFpuPair<WriteVecALUY, [Zn2FPU013], 1>;
defm : X86WriteResPairUnsupported<WriteVecALUZ>;
defm : Zn2WriteResFpuPair<WriteVecIMul, [Zn2FPU0], 4>;
defm : Zn2WriteResFpuPair<WriteVecIMulX, [Zn2FPU0], 4>;
@@ -428,20 +428,20 @@ defm : X86WriteResPairUnsupported<WriteVecIMulZ>;
defm : Zn2WriteResFpuPair<WritePMULLD, [Zn2FPU0], 4, [2]>;
defm : Zn2WriteResFpuPair<WritePMULLDY, [Zn2FPU0], 4, [2]>;
defm : X86WriteResPairUnsupported<WritePMULLDZ>;
-defm : Zn2WriteResFpuPair<WriteShuffle, [Zn2FPU], 1>;
-defm : Zn2WriteResFpuPair<WriteShuffleX, [Zn2FPU], 1>;
-defm : Zn2WriteResFpuPair<WriteShuffleY, [Zn2FPU], 1>;
+defm : Zn2WriteResFpuPair<WriteShuffle, [Zn2FPU12], 1>;
+defm : Zn2WriteResFpuPair<WriteShuffleX, [Zn2FPU12], 1>;
+defm : Zn2WriteResFpuPair<WriteShuffleY, [Zn2FPU12], 1>;
defm : X86WriteResPairUnsupported<WriteShuffleZ>;
-defm : Zn2WriteResFpuPair<WriteVarShuffle, [Zn2FPU], 1>;
-defm : Zn2WriteResFpuPair<WriteVarShuffleX,[Zn2FPU], 1>;
-defm : Zn2WriteResFpuPair<WriteVarShuffleY,[Zn2FPU], 1>;
+defm : Zn2WriteResFpuPair<WriteVarShuffle, [Zn2FPU12], 1>;
+defm : Zn2WriteResFpuPair<WriteVarShuffleX,[Zn2FPU12], 1>;
+defm : Zn2WriteResFpuPair<WriteVarShuffleY,[Zn2FPU12], 1>;
defm : X86WriteResPairUnsupported<WriteVarShuffleZ>;
defm : Zn2WriteResFpuPair<WriteBlend, [Zn2FPU01], 1>;
defm : Zn2WriteResFpuPair<WriteBlendY, [Zn2FPU01], 1>;
defm : X86WriteResPairUnsupported<WriteBlendZ>;
-defm : Zn2WriteResFpuPair<WriteShuffle256, [Zn2FPU], 2>;
+defm : Zn2WriteResFpuPair<WriteShuffle256, [Zn2FPU12], 2>;
defm : Zn2WriteResFpuPair<WriteVPMOV256, [Zn2FPU12], 4, [1], 2, 4>;
-defm : Zn2WriteResFpuPair<WriteVarShuffle256, [Zn2FPU], 2>;
+defm : Zn2WriteResFpuPair<WriteVarShuffle256, [Zn2FPU12], 2>;
defm : Zn2WriteResFpuPair<WritePSADBW, [Zn2FPU0], 3>;
defm : Zn2WriteResFpuPair<WritePSADBWX, [Zn2FPU0], 3>;
defm : Zn2WriteResFpuPair<WritePSADBWY, [Zn2FPU0], 3>;
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
index 544f0710c238..7b1ac220e8b8 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
@@ -1359,45 +1359,45 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 0.50 vorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpabsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpabsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpabsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpabsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpabsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpabsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpabsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpabsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpabsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpackssdw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpacksswb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpackusdw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpackuswb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddusb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddusw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vpand %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpand (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vpandn %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpavgb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpavgb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpavgw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpavgw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpavgw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2
@@ -1405,25 +1405,25 @@ vzeroupper
# CHECK-NEXT: 2 8 0.50 * vpblendw $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 vpclmulqdq $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpclmulqdq $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpeqw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 vpcmpestri $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpcmpestri $1, (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 vpcmpestrm $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpcmpestrm $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpgtd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpgtw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 vpcmpistri $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpcmpistri $1, (%rax), %xmm2
@@ -1481,54 +1481,54 @@ vzeroupper
# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 1.00 vpmaddwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxub %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxud %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxuw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminub %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminud %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminuw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpminuw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: 1 1 0.25 vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 vpmuldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %xmm1, %xmm2
@@ -1548,24 +1548,24 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshufb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshufd $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshufhw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshuflw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsignb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsignb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsignd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsignd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsignw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsignw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsignw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpslld $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpslld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpslldq $1, %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsllq $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsllq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsllq (%rax), %xmm1, %xmm2
@@ -1581,48 +1581,48 @@ vzeroupper
# CHECK-NEXT: 1 1 1.00 vpsrld $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrldq $1, %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsrlq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubusb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubusw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpsubw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vptest %xmm0, %xmm1
# CHECK-NEXT: 2 9 1.00 * vptest (%rax), %xmm1
# CHECK-NEXT: 3 4 2.00 vptest %ymm0, %ymm1
# CHECK-NEXT: 5 11 2.00 * vptest (%rax), %ymm1
-# CHECK-NEXT: 1 1 0.25 vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhqdq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklqdq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vpxor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpxor (%rax), %xmm1, %xmm2
@@ -1738,7 +1738,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 175.00 175.00 - - - - - 154.08 205.08 230.25 321.58 -
+# CHECK-NEXT: 175.00 175.00 - - - - - 146.25 227.25 223.75 313.75 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2071,72 +2071,72 @@ vzeroupper
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpabsb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpabsd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpabsw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpackssdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpacksswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpackusdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpackuswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpaddw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpalignr $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpand %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpavgb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpavgb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpavgw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpavgw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpclmulqdq $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpeqb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpeqd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpeqq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpeqw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpestri $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpestri $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpestrm $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpestrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpgtb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpgtd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpcmpgtw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpistri $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpistri $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpcmpistrm $1, %xmm0, %xmm2
@@ -2193,55 +2193,55 @@ vzeroupper
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddubsw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmaddwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpmaxsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpmaxsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpmaxsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpmaxsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpmaxsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpmaxub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpmaxub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpmaxud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpmaxud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpmaxuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpmaxuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpminsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpminsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpminsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpminsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpminsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpminub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpminub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpminud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpminud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpminuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpminuw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmuldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpmuldq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpmulhrsw %xmm0, %xmm1, %xmm2
@@ -2260,24 +2260,24 @@ vzeroupper
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsadbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpshufb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsignb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsignb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsignd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsignd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsignw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsignw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpslldq $1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsllq (%rax), %xmm1, %xmm2
@@ -2293,49 +2293,49 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpsrldq $1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpsubw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vptest %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vptest (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - vptest %ymm0, %ymm1
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - vptest (%rax), %ymm1
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpckhbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpckhdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpckhqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpckhwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpcklbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpckldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpcklqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpunpcklwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vrcpps %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
index 9f4b4b865e7a..cf700c94252f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
@@ -461,9 +461,9 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0
-# CHECK-NEXT: 2 2 0.50 vbroadcastsd %xmm0, %ymm0
-# CHECK-NEXT: 2 2 0.50 vbroadcastss %xmm0, %ymm0
-# CHECK-NEXT: 2 2 0.50 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 2 2 1.00 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 2 2 1.00 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 2 2 1.00 vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 1 1 0.50 * vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: 1 100 0.25 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 1 100 0.25 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
@@ -473,51 +473,51 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 100 0.25 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 1 100 0.25 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 1 100 0.25 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: 2 2 0.50 vinserti128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 9 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 100 0.25 vmpsadbw $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 100 0.25 * vmpsadbw $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpabsb %ymm0, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpabsb (%rax), %ymm2
-# CHECK-NEXT: 2 1 0.50 vpabsd %ymm0, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpabsd (%rax), %ymm2
-# CHECK-NEXT: 2 1 0.50 vpabsw %ymm0, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpabsw (%rax), %ymm2
-# CHECK-NEXT: 2 1 0.50 vpackssdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpackssdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpacksswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpacksswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpackusdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpackusdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpackuswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpackuswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpaddw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpalignr $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpabsb (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.67 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpabsd (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.67 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpabsw (%rax), %ymm2
+# CHECK-NEXT: 2 1 1.00 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 1 0.50 vpand %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpand (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 1 0.50 vpandn %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpandn (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpavgb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpavgb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpavgw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpavgw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpblendd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 8 1.00 * vpblendd $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 0.50 vpblendd $11, %ymm0, %ymm1, %ymm2
@@ -526,48 +526,48 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 8 2.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 2 0.33 vpblendw $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 9 0.50 * vpblendw $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastb %xmm0, %xmm0
# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %xmm0
-# CHECK-NEXT: 2 2 0.50 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 2 2 1.00 vpbroadcastb %xmm0, %ymm0
# CHECK-NEXT: 2 8 2.00 * vpbroadcastb (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastd %xmm0, %xmm0
# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %xmm0
-# CHECK-NEXT: 2 2 0.50 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 2 2 1.00 vpbroadcastd %xmm0, %ymm0
# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastq %xmm0, %xmm0
# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %xmm0
-# CHECK-NEXT: 2 2 0.50 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 2 2 1.00 vpbroadcastq %xmm0, %ymm0
# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastw %xmm0, %xmm0
# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %xmm0
-# CHECK-NEXT: 2 2 0.50 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 2 2 1.00 vpbroadcastw %xmm0, %ymm0
# CHECK-NEXT: 2 8 2.00 * vpbroadcastw (%rax), %ymm0
-# CHECK-NEXT: 2 1 0.50 vpcmpeqb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpcmpeqd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpeqd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpcmpeqq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpeqq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpcmpeqw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpeqw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpcmpgtb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpgtb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpcmpgtd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpgtd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpcmpgtq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpcmpgtw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpcmpgtw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 2 0.50 vperm2i128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 9 0.50 * vperm2i128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 2 0.50 vpermd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 9 0.50 * vpermd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 2 0.50 vpermpd $1, %ymm0, %ymm2
-# CHECK-NEXT: 2 9 0.50 * vpermpd $1, (%rax), %ymm2
-# CHECK-NEXT: 2 2 0.50 vpermps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 9 0.50 * vpermps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 2 0.50 vpermq $1, %ymm0, %ymm2
-# CHECK-NEXT: 2 9 0.50 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.67 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vperm2i128 $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vperm2i128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 2 2 1.00 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 2 1.00 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vpermq $1, (%rax), %ymm2
# CHECK-NEXT: 1 100 0.25 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 1 100 0.25 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 1 100 0.25 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
@@ -600,30 +600,30 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 9 1.50 * vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: 1 100 0.25 * * vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 1 100 0.25 * * vpmaskmovq %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: 2 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpmaxsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpmaxsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpmaxsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpmaxub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpmaxub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpmaxud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpmaxud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpmaxuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpmaxuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpminsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpminsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpminsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpminsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpminsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpminsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpminub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpminub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpminud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpminud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpminuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 2 2.00 vpmovmskb %ymm0, %ecx
# CHECK-NEXT: 3 1 2.00 vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: 3 8 2.00 * vpmovsxbd (%rax), %ymm2
@@ -667,24 +667,24 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 3 2.00 vpsadbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 10 2.00 * vpsadbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpshufb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpshufd $1, %ymm0, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpshufd $1, (%rax), %ymm2
-# CHECK-NEXT: 2 1 0.50 vpshufhw $1, %ymm0, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpshufhw $1, (%rax), %ymm2
-# CHECK-NEXT: 2 1 0.50 vpshuflw $1, %ymm0, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpshuflw $1, (%rax), %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsignb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsignb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsignd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsignd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsignw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 2 1 1.00 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 2 1 1.00 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsignw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 1 2.00 vpslld $1, %ymm0, %ymm2
# CHECK-NEXT: 2 1 2.00 vpslld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 2.00 * vpslld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpslldq $1, %ymm1, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsllq $1, %ymm0, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsllq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 2.00 * vpsllq (%rax), %ymm1, %ymm2
@@ -712,7 +712,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsrld $1, %ymm0, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsrld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 2.00 * vpsrld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpsrldq $1, %ymm1, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsrlq $1, %ymm0, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsrlq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 2.00 * vpsrlq (%rax), %ymm1, %ymm2
@@ -727,38 +727,38 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsrlw $1, %ymm0, %ymm2
# CHECK-NEXT: 2 1 2.00 vpsrlw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 2.00 * vpsrlw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpsubw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpckhbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpckhbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpckhdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpckhdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpckhqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpckhqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpckhwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpckhwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpcklbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpcklbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpckldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpckldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpcklqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpcklqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 2 1 0.50 vpunpcklwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 8 0.50 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 0.67 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 0.67 * vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 1 1.00 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 1 0.50 vpxor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpxor (%rax), %ymm1, %ymm2
@@ -778,14 +778,14 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 67.00 67.00 - - - - - 132.92 197.42 176.75 78.92 -
+# CHECK-NEXT: 67.00 67.00 - - - - - 117.50 241.50 163.50 63.50 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vbroadcasti128 (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vbroadcastsd %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vbroadcastss %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
@@ -795,51 +795,51 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vinserti128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpabsb %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpabsb (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpabsd %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpabsd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpabsw %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpabsw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpackssdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpackssdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpacksswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpacksswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpackusdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpackusdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpackuswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpackuswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpaddw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpaddw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpalignr $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpalignr $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpand %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpand (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpandn %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpandn (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpavgb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpavgb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpavgw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpavgw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vpblendd $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vpblendd $11, %ymm0, %ymm1, %ymm2
@@ -848,48 +848,48 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 2.00 - - - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpbroadcastb %xmm0, %xmm0
# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastb (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpbroadcastb %xmm0, %ymm0
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastb (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %xmm0
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpbroadcastd %xmm0, %ymm0
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %xmm0
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpbroadcastq %xmm0, %ymm0
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - vpbroadcastw %xmm0, %xmm0
# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpbroadcastw (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpbroadcastw %xmm0, %ymm0
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 - - - vpbroadcastw (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpeqw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpgtb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpgtb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpgtd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpgtd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vpcmpgtq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - 1.00 - vpcmpgtq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpcmpgtw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpcmpgtw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vperm2i128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vperm2i128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpermd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpermd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpermpd $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpermpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpermps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpermps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpermq $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpermq $1, (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
@@ -922,30 +922,30 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 1.50 - - - vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - vpmaskmovq %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpmaxsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpmaxsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpmaxsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpmaxsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpmaxsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpmaxsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpmaxub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpmaxub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpmaxud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpmaxud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpmaxuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpmaxuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpminsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpminsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpminsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpminsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpminsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpminsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpminub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpminub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpminud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpminud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpminuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpmovmskb %ymm0, %ecx
# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - vpmovsxbd (%rax), %ymm2
@@ -989,24 +989,24 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 2.00 - - - - vpsadbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 2.00 - - - - vpsadbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpshufb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpshufb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpshufd $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpshufd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpshufhw $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpshufhw $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpshuflw $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpshuflw $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsignb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsignb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsignd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsignd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsignw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsignw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpslld $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpslld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 2.00 - - vpslld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpslldq $1, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsllq $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsllq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 2.00 - - vpsllq (%rax), %ymm1, %ymm2
@@ -1034,7 +1034,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsrld $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsrld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 2.00 - - vpsrld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpsrldq $1, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsrlq $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsrlq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 2.00 - - vpsrlq (%rax), %ymm1, %ymm2
@@ -1049,37 +1049,37 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsrlw $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsrlw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 2.00 - - vpsrlw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpsubw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpckhbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpckhbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpckhdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpckhdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpckhqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpckhqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpckhwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpckhwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpcklbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpcklbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpckldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpckldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpcklqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpcklqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpunpcklwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.67 0.67 - 0.67 - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.67 0.67 - 0.67 - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - - vpunpcklwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 0.50 0.50 - vpxor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 0.50 0.50 - vpxor (%rax), %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
index cddb647b1604..77508f5be235 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
@@ -179,35 +179,35 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 * packssdw (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2
# CHECK-NEXT: 1 1 0.50 * packuswb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddsb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddsb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddsb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddusb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddusb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddusb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddusw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddusw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddusw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddw (%rax), %mm2
# CHECK-NEXT: 1 1 0.25 pand %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pand (%rax), %mm2
# CHECK-NEXT: 1 1 0.25 pandn %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pandn (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pcmpgtb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pcmpgtd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pcmpgtw (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2
# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %mm2
@@ -241,31 +241,31 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psrlw $1, %mm2
# CHECK-NEXT: 1 1 1.00 psrlw %mm0, %mm2
# CHECK-NEXT: 1 8 1.00 * psrlw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubsb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubsb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubsb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubusb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubusb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubusb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubusw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubusw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubusw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckhbw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 punpckhbw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckhdq %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 punpckhdq %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckhwd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 punpckhwd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpcklbw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 punpcklbw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckldq %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 punpckldq %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpcklwd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 punpcklwd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %mm2
# CHECK-NEXT: 1 1 0.25 pxor %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pxor (%rax), %mm2
@@ -286,7 +286,7 @@ pxor (%rax), %mm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 24.00 24.00 - - - - - 21.25 18.25 46.25 15.25 -
+# CHECK-NEXT: 24.00 24.00 - - - - - 21.58 24.58 39.25 15.58 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -305,36 +305,36 @@ pxor (%rax), %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packssdw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packuswb %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packuswb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddsb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddsw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddusb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddusb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddusw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddusw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddw (%rax), %mm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pand %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %mm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pandn %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpgtb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpgtb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpgtd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpgtd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpgtw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpgtw (%rax), %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddwd %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddwd (%rax), %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhw %mm0, %mm2
@@ -367,31 +367,31 @@ pxor (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlw $1, %mm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlw %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubsb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubsw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubusb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubusb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubusw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubusw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhbw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhdq %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhdq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhwd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpcklbw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpcklbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckldq %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckldq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpcklwd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpcklwd (%rax), %mm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pxor %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
index bcfed6fdb077..5616e648f431 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
@@ -264,20 +264,20 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 10 0.50 * mulss (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orps %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * orps (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pavgb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pavgb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pavgb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pavgw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pavgw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pavgw (%rax), %mm2
# CHECK-NEXT: 1 2 2.00 pextrw $1, %mm0, %ecx
# CHECK-NEXT: 1 1 0.25 pinsrw $1, %eax, %mm2
# CHECK-NEXT: 1 8 0.50 * pinsrw $1, (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pmaxsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pmaxsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pmaxsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pmaxub %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pmaxub %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pmaxub (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pminsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pminsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pminsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pminub %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pminub %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pminub (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pmovmskb %mm0, %ecx
# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2
@@ -288,7 +288,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * * prefetchnta (%rax)
# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2
# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pshufw $1, %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 pshufw $1, %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pshufw $1, (%rax), %mm2
# CHECK-NEXT: 1 5 0.50 rcpps %xmm0, %xmm2
# CHECK-NEXT: 1 12 0.50 * rcpps (%rax), %xmm2
@@ -335,7 +335,7 @@ xorps (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 32.50 32.50 - - - - - 24.50 30.50 28.50 60.50 -
+# CHECK-NEXT: 32.50 32.50 - - - - - 25.00 32.00 26.00 61.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -409,21 +409,21 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - orps %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - orps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pavgb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pavgb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pavgw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pavgw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrw $1, %mm0, %ecx
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, %eax, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminub %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxsw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxub %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxub (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminsw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminub %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminub (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - pmovmskb %mm0, %ecx
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhuw %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhuw (%rax), %mm2
@@ -433,8 +433,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - prefetchnta (%rax)
# CHECK-NEXT: - - - - - - - 1.00 - - - - psadbw %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - psadbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pshufw $1, %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pshufw $1, (%rax), %mm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rcpps %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - rcpps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - rcpss %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
index 7b2c3e12da74..1db51b7b6514 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
@@ -516,62 +516,62 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 11 0.50 * mulsd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * orpd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packssdw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * packssdw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packsswb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * packsswb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packuswb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * packuswb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddq %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddq %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * paddq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddusb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddusb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddusb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddusw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddusw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddusw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * paddw (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pand %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pand (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pandn %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pandn (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pavgb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pavgb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pavgb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pavgw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pavgw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pavgw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpgtb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpgtd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpgtw (%rax), %xmm2
# CHECK-NEXT: 1 2 2.00 pextrw $1, %xmm0, %ecx
# CHECK-NEXT: 1 1 0.25 pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 1 8 0.50 * pinsrw $1, (%rax), %xmm0
# CHECK-NEXT: 1 4 1.00 pmaddwd %xmm0, %xmm2
# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmaxsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxub %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxub %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmaxub (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pminsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminub %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminub %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pminub (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pmovmskb %xmm0, %ecx
# CHECK-NEXT: 1 4 1.00 pmulhuw %xmm0, %xmm2
@@ -588,16 +588,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * por (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2
# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * pslld (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pslldq $1, %xmm2
+# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psllq (%rax), %xmm2
@@ -613,46 +613,46 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psrld (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psrldq $1, %xmm2
+# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psrlq (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psrlw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubq %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubq %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psubq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubusb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubusb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubusb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubusw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubusw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubusw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psubw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckldq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pxor %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pxor (%rax), %xmm2
@@ -691,7 +691,7 @@ xorpd (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 66.50 66.50 - - - - - 55.42 46.92 84.25 124.42 -
+# CHECK-NEXT: 66.50 66.50 - - - - - 52.92 59.42 76.75 121.92 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -804,63 +804,63 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - mulsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - orpd %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - orpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packssdw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packssdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packsswb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packsswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packuswb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packuswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddq %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - paddw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packssdw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packssdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packsswb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packsswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packuswb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packuswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddq %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddsb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddsw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddusb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddusw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - paddw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - paddw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pand %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pandn %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pavgb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pavgb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pavgw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pavgw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpgtb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpgtb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpgtd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpgtd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpgtw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpgtw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrw $1, %xmm0, %ecx
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, (%rax), %xmm0
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmaddwd %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmaddwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminub %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxsw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxub %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxub (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminsw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminub %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminub (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - pmovmskb %xmm0, %ecx
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhuw %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhuw (%rax), %xmm2
@@ -876,16 +876,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - por (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - psadbw %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - psadbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - pslld $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - pslld %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - pslld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pslldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pslldq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psllq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psllq %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psllq (%rax), %xmm2
@@ -901,47 +901,47 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrld $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrld %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psrldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - psrldq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlq %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlw $1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - psrlw %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - psrlw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubq %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psubw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubq %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubsb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubsw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubusb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubusw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psubw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psubw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckhwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpcklbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpckldq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpckldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpcklqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - punpcklwd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pxor %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - shufpd $1, %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
index e3a05b11a5e9..b78f2dcedb49 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
@@ -174,13 +174,13 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * movntdqa (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packusdw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 packusdw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * packusdw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * pblendvb %xmm0, (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 pblendw $11, %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pcmpeqq (%rax), %xmm2
# CHECK-NEXT: 1 2 2.00 pextrb $1, %xmm0, %ecx
# CHECK-NEXT: 2 5 3.00 * pextrb $1, %xmm0, (%rax)
@@ -197,45 +197,45 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * pinsrd $1, (%rax), %xmm1
# CHECK-NEXT: 1 1 0.25 pinsrq $1, %rax, %xmm1
# CHECK-NEXT: 1 8 0.50 * pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: 1 1 0.25 pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmaxsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmaxsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxud %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxud %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmaxud (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxuw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmaxuw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pminsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pminsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminud %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminud %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pminud (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminuw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminuw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pminuw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxbd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxbq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxbw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxwd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxwq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxbd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxbq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxbw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxdq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxwd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pmovzxwq (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmuldq %xmm0, %xmm2
# CHECK-NEXT: 1 11 1.00 * pmuldq (%rax), %xmm2
@@ -268,7 +268,7 @@ roundss $1, (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 25.00 25.00 - - - - - 27.17 26.67 44.00 21.17 -
+# CHECK-NEXT: 25.00 25.00 - - - - - 22.17 34.67 46.00 16.17 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -291,14 +291,14 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - movntdqa (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - packusdw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - packusdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - packusdw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - packusdw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pblendvb %xmm0, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pblendw $11, %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pcmpeqq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrb $1, %xmm0, %ecx
# CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 4.00 - - pextrb $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - 0.50 2.50 - - pextrd $1, %xmm0, %ecx
@@ -314,46 +314,46 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrd $1, (%rax), %xmm1
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, %rax, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxud %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmaxuw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmaxuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminsd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminud %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pminuw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pminuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxud %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pmaxuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminsb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminsd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminud %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pminuw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pminuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmuldq %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmuldq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 2.00 - - - - pmulld %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
index 2c76369f592e..c1a812ecdc50 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
@@ -106,21 +106,21 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.25 pabsb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pabsb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pabsb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pabsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pabsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pabsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pabsd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pabsd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pabsd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pabsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pabsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pabsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pabsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pabsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pabsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pabsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pabsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pabsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 palignr $1, %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 palignr $1, %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 palignr $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %xmm2
# CHECK-NEXT: 1 3 0.25 phaddd %mm0, %mm2
# CHECK-NEXT: 1 10 0.50 * phaddd (%rax), %mm2
@@ -154,21 +154,21 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 pmulhrsw %xmm0, %xmm2
# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshufb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 pshufb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pshufb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 pshufb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psignb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psignb %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psignb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psignb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psignb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psignb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psignd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psignd %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psignd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psignd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psignd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psignd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psignw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psignw %mm0, %mm2
# CHECK-NEXT: 1 8 0.50 * psignw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psignw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psignw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * psignw (%rax), %xmm2
# CHECK: Resources:
@@ -187,26 +187,26 @@ psignw (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 16.00 16.00 - - - - - 16.00 8.00 8.00 8.00 -
+# CHECK-NEXT: 16.00 16.00 - - - - - 16.00 12.00 4.00 8.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pabsb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pabsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pabsb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pabsd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pabsd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pabsd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pabsw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pabsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - pabsw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - pabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - palignr $1, %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - palignr $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - palignr $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - phaddd %mm0, %mm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - phaddd (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - - - phaddd %xmm0, %xmm2
@@ -239,19 +239,19 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhrsw (%rax), %mm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - pmulhrsw %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - pmulhrsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignb %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignb %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignd %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignd %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignw %mm0, %mm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - psignw %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pshufb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pshufb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - pshufb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - pshufb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psignb %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psignb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psignb %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psignb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psignd %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psignd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psignd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psignd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psignw %mm0, %mm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psignw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - 0.33 0.33 - 0.33 - psignw %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.33 0.33 - 0.33 - psignw (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s b/llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s
index 9adc74d11d22..c327e4e16665 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s
@@ -100,12 +100,12 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 83
-# CHECK-NEXT: Total Cycles: 32
+# CHECK-NEXT: Total Cycles: 34
# CHECK-NEXT: Total uOps: 109
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 3.41
-# CHECK-NEXT: IPC: 2.59
+# CHECK-NEXT: uOps Per Cycle: 3.21
+# CHECK-NEXT: IPC: 2.44
# CHECK-NEXT: Block RThroughput: 27.3
# CHECK: Instruction Info:
@@ -121,53 +121,53 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.25 subq %rax, %rax
# CHECK-NEXT: 1 1 0.25 xorl %eax, %eax
# CHECK-NEXT: 1 1 0.25 xorq %rax, %rax
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %xmm2, %xmm2
# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %xmm3, %xmm3, %xmm5
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 2 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 2 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 2 1 0.67 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 2 1 0.67 vpcmpgtd %ymm3, %ymm3, %ymm3
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 2 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 2 1 0.50 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 2 1 0.50 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 2 1 0.67 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 2 1 0.67 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 2 1 0.67 vpcmpgtd %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 2 1 0.50 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 psubb %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubd %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubq %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 psubd %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 psubq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 psubw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 2 1 0.50 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 2 1 0.50 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 2 1 0.50 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 2 1 0.50 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 2 1 0.50 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 2 1 0.50 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 2 1 0.50 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 2 1 0.50 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 2 1 0.67 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 psubb %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubd %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubq %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubw %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubb %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubd %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubq %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubw %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 2 1 0.67 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 2 1 0.67 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 2 1 0.67 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 2 1 0.67 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 2 1 0.67 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 2 1 0.67 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 2 1 0.67 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 2 1 0.67 vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm0
# CHECK-NEXT: 1 1 0.25 andnpd %xmm1, %xmm1
# CHECK-NEXT: 1 1 0.25 vandnps %xmm2, %xmm2, %xmm2
@@ -231,7 +231,7 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 - 26.00 26.00 26.00 27.00 -
+# CHECK-NEXT: - - 1.00 1.00 1.00 1.00 - 30.00 30.00 14.00 31.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -240,60 +240,60 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - 1.00 - - - - - - - - xorl %eax, %eax
# CHECK-NEXT: - - 1.00 - - - - - - - - - xorq %rax, %rax
# CHECK-NEXT: - - - - - - - - - - 1.00 - pcmpgtb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - pcmpgtd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - pcmpgtd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - pcmpgtw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - pcmpgtd %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - pcmpgtw %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - 1.00 - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - 1.00 - vpcmpgtd %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - 2.00 - - - vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - 2.00 - vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - 2.00 - - - vpcmpgtd %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - 2.00 - - vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - 2.00 - - - vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - 2.00 - vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - 2.00 - - - vpcmpgtd %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - 2.00 - - vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpcmpgtw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - - 1.00 - - - psubb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - psubd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - psubq %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - psubw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - psubd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - psubq %mm2, %mm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - psubw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - 1.00 - psubb %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - psubd %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - psubq %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - 2.00 - - - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - 2.00 - - - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - 2.00 - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - 1.00 - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - 2.00 - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - 1.00 - vpsubb %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - 1.00 - - - vpsubd %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpsubq %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - 1.00 - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - 2.00 - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - 2.00 - - - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - 2.00 - - - - vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - 2.00 - vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - 2.00 - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - 2.00 - - - vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - - - 1.00 - - andnps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - andnpd %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - - - 2.00 - - vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - - 2.00 - - - vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - pandn %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - pandn %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - andnpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - 1.00 - - pandn %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - pandn %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - vpandn %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - 2.00 - - - vpandn %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - 1.00 - - - - vandnps %xmm2, %xmm2, %xmm5
@@ -311,101 +311,101 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - - - - 1.00 - pxor %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - pxor %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - 2.00 - - - - vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: - - - - - - - - 2.00 - - - vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: - - - - - - - - - - 2.00 - vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - 2.00 - - - - vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: - - - - - - - 2.00 - - - - vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: - - - - - - - - - 2.00 - - vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - 2.00 - vpxor %ymm3, %ymm3, %ymm5
# CHECK: Timeline view:
-# CHECK-NEXT: 0123456789 01
+# CHECK-NEXT: 0123456789 0123
# CHECK-NEXT: Index 0123456789 0123456789
-# CHECK: [0,0] DeER . . . . . .. subl %eax, %eax
-# CHECK-NEXT: [0,1] DeER . . . . . .. subq %rax, %rax
-# CHECK-NEXT: [0,2] DeER . . . . . .. xorl %eax, %eax
-# CHECK-NEXT: [0,3] DeER . . . . . .. xorq %rax, %rax
-# CHECK-NEXT: [0,4] .DeER. . . . . .. pcmpgtb %mm2, %mm2
-# CHECK-NEXT: [0,5] .DeER. . . . . .. pcmpgtd %mm2, %mm2
-# CHECK-NEXT: [0,6] .DeER. . . . . .. pcmpgtw %mm2, %mm2
-# CHECK-NEXT: [0,7] .DeER. . . . . .. pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: [0,8] . DeER . . . . .. pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: [0,9] . DeER . . . . .. pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: [0,10] . DeER . . . . .. pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: [0,11] . DeER . . . . .. vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,12] . DeER . . . . .. vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,13] . DeER . . . . .. vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,14] . DeER . . . . .. vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,15] . DeER . . . . .. vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,16] . DeER . . . . .. vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,17] . DeER . . . . .. vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,18] . DeER . . . . .. vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,19] . DeER . . . . .. vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,20] . DeER . . . . .. vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,21] . .DeER. . . . .. vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,22] . .DeER. . . . .. vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,23] . . DeER . . . .. vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,24] . . DeER . . . .. vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,25] . . DeER . . . .. vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,26] . . DeER . . . .. vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,27] . . D=eER . . . .. psubb %mm2, %mm2
-# CHECK-NEXT: [0,28] . . DeER . . . .. psubd %mm2, %mm2
-# CHECK-NEXT: [0,29] . . DeER . . . .. psubq %mm2, %mm2
-# CHECK-NEXT: [0,30] . . D=eER . . . .. psubw %mm2, %mm2
-# CHECK-NEXT: [0,31] . . D=eER . . . .. psubb %xmm2, %xmm2
-# CHECK-NEXT: [0,32] . . DeER . . . .. psubd %xmm2, %xmm2
-# CHECK-NEXT: [0,33] . . DeER . . . .. psubq %xmm2, %xmm2
-# CHECK-NEXT: [0,34] . . D=eER. . . .. psubw %xmm2, %xmm2
-# CHECK-NEXT: [0,35] . . D=eER. . . .. vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,36] . . .DeER. . . .. vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,37] . . .DeER. . . .. vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,38] . . .D=eER . . .. vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,39] . . . DeER . . .. vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,40] . . . DeER . . .. vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,41] . . . DeER . . .. vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,42] . . . DeER . . .. vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,43] . . . DeER . . .. vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,44] . . . DeER . . .. vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,45] . . . D=eER . . .. vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,46] . . . D=eER . . .. vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,47] . . . DeER . . .. vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,48] . . . DeER . . .. vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,49] . . . .DeER. . .. vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,50] . . . .DeER. . .. vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,51] . . . . DeER . .. andnps %xmm0, %xmm0
-# CHECK-NEXT: [0,52] . . . . DeER . .. andnpd %xmm1, %xmm1
-# CHECK-NEXT: [0,53] . . . . D=eER . .. vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,54] . . . . D=eER . .. vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,55] . . . . DeER . .. vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,56] . . . . DeER . .. vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,57] . . . . DeER . .. pandn %mm2, %mm2
-# CHECK-NEXT: [0,58] . . . . DeER . .. pandn %xmm2, %xmm2
-# CHECK-NEXT: [0,59] . . . . D=eER . .. vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,60] . . . . DeER . .. vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,61] . . . . DeER . .. vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: [0,62] . . . . DeER . .. vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: [0,63] . . . . .DeER. .. vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,64] . . . . .DeER. .. vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: [0,65] . . . . . DeER .. vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: [0,66] . . . . . DeER .. vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,67] . . . . . DeER .. xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,68] . . . . . DeER .. xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,69] . . . . . D=eER .. vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,70] . . . . . D=eER .. vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,71] . . . . . DeER .. vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,72] . . . . . DeER .. vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,73] . . . . . DeER .. pxor %mm2, %mm2
-# CHECK-NEXT: [0,74] . . . . . DeER .. pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,75] . . . . . D=eER.. vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,76] . . . . . .DeER.. vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,77] . . . . . .DeER.. vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,78] . . . . . .DeER.. vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,79] . . . . . . DeER. vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,80] . . . . . . DeER. vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,81] . . . . . . DeER vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,82] . . . . . . DeER vpxor %ymm3, %ymm3, %ymm5
+# CHECK: [0,0] DeER . . . . . . . subl %eax, %eax
+# CHECK-NEXT: [0,1] DeER . . . . . . . subq %rax, %rax
+# CHECK-NEXT: [0,2] DeER . . . . . . . xorl %eax, %eax
+# CHECK-NEXT: [0,3] DeER . . . . . . . xorq %rax, %rax
+# CHECK-NEXT: [0,4] .DeER. . . . . . . pcmpgtb %mm2, %mm2
+# CHECK-NEXT: [0,5] .DeER. . . . . . . pcmpgtd %mm2, %mm2
+# CHECK-NEXT: [0,6] .DeER. . . . . . . pcmpgtw %mm2, %mm2
+# CHECK-NEXT: [0,7] .D=eER . . . . . . pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: [0,8] . DeER . . . . . . pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: [0,9] . DeER . . . . . . pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: [0,10] . D=eER . . . . . . pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: [0,11] . D=eER . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,12] . DeER . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,13] . D=eER . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,14] . D=eER . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,15] . D=eER . . . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,16] . D=eER . . . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,17] . D=eER . . . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,18] . D=eER . . . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,19] . D=eER. . . . . . vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,20] . D=eER. . . . . . vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,21] . .DeER. . . . . . vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,22] . .D=eER . . . . . vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,23] . . D=eER . . . . . vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,24] . . D=eER . . . . . vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,25] . . D=eER . . . . . vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,26] . . D==eER . . . . . vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,27] . . D==eER . . . . . psubb %mm2, %mm2
+# CHECK-NEXT: [0,28] . . D=eER . . . . . psubd %mm2, %mm2
+# CHECK-NEXT: [0,29] . . D==eER. . . . . psubq %mm2, %mm2
+# CHECK-NEXT: [0,30] . . D==eER. . . . . psubw %mm2, %mm2
+# CHECK-NEXT: [0,31] . . D===eER . . . . psubb %xmm2, %xmm2
+# CHECK-NEXT: [0,32] . . D==eER . . . . psubd %xmm2, %xmm2
+# CHECK-NEXT: [0,33] . . D==eER . . . . psubq %xmm2, %xmm2
+# CHECK-NEXT: [0,34] . . D===eER . . . . psubw %xmm2, %xmm2
+# CHECK-NEXT: [0,35] . . D===eER . . . . vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,36] . . .D==eER . . . . vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,37] . . .D===eER . . . . vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,38] . . .D===eER . . . . vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,39] . . . D==eER . . . . vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,40] . . . D===eER . . . . vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,41] . . . D==eER . . . . vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,42] . . . D===eER. . . . vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,43] . . . D===eER . . . vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,44] . . . D===eER . . . vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,45] . . . D====eER . . . vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,46] . . . D====eER . . . vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,47] . . . D===eER . . . vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,48] . . . D====eER . . . vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,49] . . . .D===eER . . . vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,50] . . . .D====eER . . . vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,51] . . . . DeE---R . . . andnps %xmm0, %xmm0
+# CHECK-NEXT: [0,52] . . . . D=eE--R . . . andnpd %xmm1, %xmm1
+# CHECK-NEXT: [0,53] . . . . D==eE-R . . . vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,54] . . . . D===eER . . . vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,55] . . . . D===eER. . . vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,56] . . . . D===eER. . . vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,57] . . . . D==eER. . . pandn %mm2, %mm2
+# CHECK-NEXT: [0,58] . . . . D===eER . . pandn %xmm2, %xmm2
+# CHECK-NEXT: [0,59] . . . . D===eER . . vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,60] . . . . D===eER . . vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,61] . . . . D===eER . . vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: [0,62] . . . . D===eER . . vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: [0,63] . . . . .D==eER . . vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,64] . . . . .D===eER . . vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: [0,65] . . . . . D==eER . . vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: [0,66] . . . . . D==eER . . vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,67] . . . . . D==eER . . xorps %xmm0, %xmm0
+# CHECK-NEXT: [0,68] . . . . . D===eER. . xorpd %xmm1, %xmm1
+# CHECK-NEXT: [0,69] . . . . . D===eER. . vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,70] . . . . . D===eER. . vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,71] . . . . . D==eER. . vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,72] . . . . . D===eER . vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,73] . . . . . D==eER . pxor %mm2, %mm2
+# CHECK-NEXT: [0,74] . . . . . D==eER . pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,75] . . . . . D===eER . vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,76] . . . . . .D==eER . vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,77] . . . . . .D==eER . vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: [0,78] . . . . . .D===eER. vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,79] . . . . . . D==eER. vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,80] . . . . . . D==eER. vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,81] . . . . . . D==eER vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,82] . . . . . . D==eER vpxor %ymm3, %ymm3, %ymm5
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -421,80 +421,80 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2
# CHECK-NEXT: 5. 1 1.0 1.0 0.0 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 6. 1 1.0 1.0 0.0 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 7. 1 1.0 1.0 0.0 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 7. 1 2.0 2.0 0.0 pcmpgtb %xmm2, %xmm2
# CHECK-NEXT: 8. 1 1.0 1.0 0.0 pcmpgtd %xmm2, %xmm2
# CHECK-NEXT: 9. 1 1.0 1.0 0.0 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 10. 1 1.0 1.0 0.0 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 11. 1 1.0 1.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 10. 1 2.0 2.0 0.0 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 11. 1 2.0 2.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 12. 1 1.0 1.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 13. 1 1.0 1.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 14. 1 1.0 1.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 15. 1 1.0 1.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 16. 1 1.0 1.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 17. 1 1.0 1.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 18. 1 1.0 1.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 19. 1 1.0 1.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 20. 1 1.0 1.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 13. 1 2.0 2.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 14. 1 2.0 2.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 15. 1 2.0 2.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 16. 1 2.0 2.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 17. 1 2.0 2.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 18. 1 2.0 2.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 19. 1 2.0 2.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 20. 1 2.0 2.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
# CHECK-NEXT: 21. 1 1.0 1.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 22. 1 1.0 1.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 23. 1 1.0 1.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 24. 1 1.0 1.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 25. 1 1.0 1.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 26. 1 1.0 1.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 27. 1 2.0 2.0 0.0 psubb %mm2, %mm2
-# CHECK-NEXT: 28. 1 1.0 1.0 0.0 psubd %mm2, %mm2
-# CHECK-NEXT: 29. 1 1.0 1.0 0.0 psubq %mm2, %mm2
-# CHECK-NEXT: 30. 1 2.0 2.0 0.0 psubw %mm2, %mm2
-# CHECK-NEXT: 31. 1 2.0 2.0 0.0 psubb %xmm2, %xmm2
-# CHECK-NEXT: 32. 1 1.0 1.0 0.0 psubd %xmm2, %xmm2
-# CHECK-NEXT: 33. 1 1.0 1.0 0.0 psubq %xmm2, %xmm2
-# CHECK-NEXT: 34. 1 2.0 2.0 0.0 psubw %xmm2, %xmm2
-# CHECK-NEXT: 35. 1 2.0 2.0 0.0 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 36. 1 1.0 1.0 0.0 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 37. 1 1.0 1.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 38. 1 2.0 2.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 39. 1 1.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 40. 1 1.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 41. 1 1.0 1.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 42. 1 1.0 1.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 43. 1 1.0 1.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 44. 1 1.0 1.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 45. 1 2.0 2.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 46. 1 2.0 2.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 47. 1 1.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 48. 1 1.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 49. 1 1.0 1.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 50. 1 1.0 1.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 51. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0
-# CHECK-NEXT: 52. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1
-# CHECK-NEXT: 53. 1 2.0 2.0 0.0 vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 54. 1 2.0 2.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 55. 1 1.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 56. 1 1.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 57. 1 1.0 1.0 0.0 pandn %mm2, %mm2
-# CHECK-NEXT: 58. 1 1.0 1.0 0.0 pandn %xmm2, %xmm2
-# CHECK-NEXT: 59. 1 2.0 2.0 0.0 vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 60. 1 1.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 61. 1 1.0 1.0 0.0 vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: 62. 1 1.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: 63. 1 1.0 1.0 0.0 vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 64. 1 1.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: 65. 1 1.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: 66. 1 1.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 67. 1 1.0 1.0 0.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 68. 1 1.0 1.0 0.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 69. 1 2.0 2.0 0.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 70. 1 2.0 2.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 71. 1 1.0 1.0 0.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 72. 1 1.0 1.0 0.0 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 73. 1 1.0 1.0 0.0 pxor %mm2, %mm2
-# CHECK-NEXT: 74. 1 1.0 1.0 0.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 75. 1 2.0 2.0 0.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 76. 1 1.0 1.0 0.0 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 77. 1 1.0 1.0 0.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 78. 1 1.0 1.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 79. 1 1.0 1.0 0.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 80. 1 1.0 1.0 0.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 81. 1 1.0 1.0 0.0 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 82. 1 1.0 1.0 0.0 vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1.2 1.2 0.0 <total>
+# CHECK-NEXT: 22. 1 2.0 2.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 23. 1 2.0 2.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 24. 1 2.0 2.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 25. 1 2.0 2.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 26. 1 3.0 3.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 27. 1 3.0 3.0 0.0 psubb %mm2, %mm2
+# CHECK-NEXT: 28. 1 2.0 2.0 0.0 psubd %mm2, %mm2
+# CHECK-NEXT: 29. 1 3.0 3.0 0.0 psubq %mm2, %mm2
+# CHECK-NEXT: 30. 1 3.0 3.0 0.0 psubw %mm2, %mm2
+# CHECK-NEXT: 31. 1 4.0 4.0 0.0 psubb %xmm2, %xmm2
+# CHECK-NEXT: 32. 1 3.0 3.0 0.0 psubd %xmm2, %xmm2
+# CHECK-NEXT: 33. 1 3.0 3.0 0.0 psubq %xmm2, %xmm2
+# CHECK-NEXT: 34. 1 4.0 4.0 0.0 psubw %xmm2, %xmm2
+# CHECK-NEXT: 35. 1 4.0 4.0 0.0 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 36. 1 3.0 3.0 0.0 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 37. 1 4.0 4.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 38. 1 4.0 4.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 39. 1 3.0 3.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 40. 1 4.0 4.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 41. 1 3.0 3.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 42. 1 4.0 4.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 43. 1 4.0 4.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 44. 1 4.0 4.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 45. 1 5.0 5.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 46. 1 5.0 5.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 47. 1 4.0 4.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 48. 1 5.0 5.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 49. 1 4.0 4.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 50. 1 5.0 5.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 51. 1 1.0 1.0 3.0 andnps %xmm0, %xmm0
+# CHECK-NEXT: 52. 1 2.0 2.0 2.0 andnpd %xmm1, %xmm1
+# CHECK-NEXT: 53. 1 3.0 3.0 1.0 vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 54. 1 4.0 4.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 55. 1 4.0 4.0 0.0 vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 56. 1 4.0 4.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 57. 1 3.0 3.0 0.0 pandn %mm2, %mm2
+# CHECK-NEXT: 58. 1 4.0 4.0 0.0 pandn %xmm2, %xmm2
+# CHECK-NEXT: 59. 1 4.0 4.0 0.0 vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 60. 1 4.0 4.0 0.0 vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 61. 1 4.0 4.0 0.0 vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: 62. 1 4.0 4.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: 63. 1 3.0 3.0 0.0 vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 64. 1 4.0 4.0 0.0 vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: 65. 1 3.0 3.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: 66. 1 3.0 3.0 0.0 vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 67. 1 3.0 3.0 0.0 xorps %xmm0, %xmm0
+# CHECK-NEXT: 68. 1 4.0 4.0 0.0 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 69. 1 4.0 4.0 0.0 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 70. 1 4.0 4.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 71. 1 3.0 3.0 0.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 72. 1 4.0 4.0 0.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 73. 1 3.0 3.0 0.0 pxor %mm2, %mm2
+# CHECK-NEXT: 74. 1 3.0 3.0 0.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 75. 1 4.0 4.0 0.0 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 76. 1 3.0 3.0 0.0 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 77. 1 3.0 3.0 0.0 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 78. 1 4.0 4.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 79. 1 3.0 3.0 0.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 80. 1 3.0 3.0 0.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 81. 1 3.0 3.0 0.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 82. 1 3.0 3.0 0.0 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 2.9 2.9 0.1 <total>
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
index b171030c318f..7400d04b23a2 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
@@ -1359,45 +1359,45 @@ vzeroupper
# CHECK-NEXT: 1 8 0.33 * vorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpabsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpabsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpabsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpabsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpabsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpabsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpabsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpabsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpabsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddusb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddusw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpaddw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpalignr $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vpand %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpand (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vpandn %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpavgb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpavgb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpavgw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpavgw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpavgw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpblendvb %xmm3, (%rax), %xmm1, %xmm2
@@ -1405,25 +1405,25 @@ vzeroupper
# CHECK-NEXT: 2 8 0.33 * vpblendw $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 vpclmulqdq $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpclmulqdq $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 vpcmpestri $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpcmpestri $1, (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 vpcmpestrm $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpcmpestrm $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpgtd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpcmpgtw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 vpcmpistri $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * vpcmpistri $1, (%rax), %xmm2
@@ -1481,55 +1481,55 @@ vzeroupper
# CHECK-NEXT: 1 11 1.00 * vpmaddubsw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 1.00 vpmaddwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 11 1.00 * vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxub %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxud %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmaxuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpmaxuw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminub %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminud %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpminuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpminuw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpminuw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: 1 1 0.25 vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpmovzxwq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxbd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxbq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxbw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxwd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovsxwq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxbd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxbq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxbw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxwd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpmovzxwq (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 vpmuldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 11 1.00 * vpmuldq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 1.00 vpmulhrsw %xmm0, %xmm1, %xmm2
@@ -1548,24 +1548,24 @@ vzeroupper
# CHECK-NEXT: 1 8 0.33 * vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshufb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsignb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsignb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsignd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsignd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsignw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsignw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsignw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpslld $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpslld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpslldq $1, %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsllq $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsllq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsllq (%rax), %xmm1, %xmm2
@@ -1581,49 +1581,49 @@ vzeroupper
# CHECK-NEXT: 1 1 1.00 vpsrld $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpsrldq $1, %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsrlq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 vpsrlw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubsw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubusb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubusw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpsubw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vptest %xmm0, %xmm1
# CHECK-NEXT: 2 10 1.00 * vptest (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 vptest %ymm0, %ymm1
# CHECK-NEXT: 2 10 1.00 * vptest (%rax), %ymm1
-# CHECK-NEXT: 1 1 0.25 vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 8 0.33 * vpunpcklwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vpxor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vpxor (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vrcpps %xmm0, %xmm2
@@ -1739,7 +1739,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 117.00 117.00 117.00 0.25 0.25 0.25 0.25 - 135.42 170.42 203.25 311.92 -
+# CHECK-NEXT: 117.00 117.00 117.00 0.25 0.25 0.25 0.25 - 127.58 192.58 196.75 304.08 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2072,72 +2072,72 @@ vzeroupper
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpabsb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpabsd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpabsw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpackssdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpackssdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpacksswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpacksswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpackusdw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpackusdw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpackuswb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpackuswb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpalignr $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpalignr $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpand %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpavgb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpavgb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpavgw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpavgw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpblendvb %xmm3, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpblendvb %xmm3, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpclmulqdq $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpclmulqdq $11, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpestri $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpestri $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpestrm $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpestrm $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpgtb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpgtd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vpcmpgtq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vpcmpgtq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpgtw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpistri $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpistri $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpcmpistrm $1, %xmm0, %xmm2
@@ -2194,55 +2194,55 @@ vzeroupper
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpmaddubsw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpmaddwd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpmaddwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminub %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminub (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminud %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminud (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminuw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpmovmskb %xmm0, %ecx
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpmuldq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpmuldq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpmulhrsw %xmm0, %xmm1, %xmm2
@@ -2261,24 +2261,24 @@ vzeroupper
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsadbw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpsadbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshufb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshufb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsignb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsignb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsignd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsignd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsignw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsignw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpslld $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpslld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpslld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpslldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpslldq $1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsllq $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsllq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsllq (%rax), %xmm1, %xmm2
@@ -2294,49 +2294,49 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrld $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsrld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsrldq $1, %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpsrldq $1, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlq $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlq %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsrlq (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlw $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlw %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsrlw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubsb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubsb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubusb %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubusb (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubusw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubusw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubw (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - vptest %xmm0, %xmm1
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 1.00 - - vptest (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - vptest %ymm0, %ymm1
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 1.00 - - vptest (%rax), %ymm1
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpcklbw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpcklbw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpcklqdq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpcklqdq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpcklwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpcklwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vrcpps %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
index e77f2f7eae05..6909ccbf4244 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s
@@ -460,10 +460,10 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 8 0.33 * vbroadcasti128 (%rax), %ymm0
-# CHECK-NEXT: 1 2 0.25 vbroadcastsd %xmm0, %ymm0
-# CHECK-NEXT: 1 2 0.25 vbroadcastss %xmm0, %ymm0
-# CHECK-NEXT: 1 2 0.25 vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: 1 2 0.50 vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: 1 2 0.50 vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: 1 2 0.50 vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 1 1 0.33 * vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: 1 100 0.25 * vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 1 100 0.25 * vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
@@ -473,50 +473,50 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 100 0.25 * vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 1 100 0.25 * vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 1 100 0.25 * vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: 1 2 0.25 vinserti128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 9 0.33 * vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.50 vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vmovntdqa (%rax), %ymm0
# CHECK-NEXT: 1 100 0.25 vmpsadbw $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 100 0.25 * vmpsadbw $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpabsb %ymm0, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpabsb (%rax), %ymm2
-# CHECK-NEXT: 1 1 0.25 vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpabsd %ymm0, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpabsd (%rax), %ymm2
-# CHECK-NEXT: 1 1 0.25 vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpabsw %ymm0, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpabsw (%rax), %ymm2
-# CHECK-NEXT: 1 1 0.25 vpackssdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpackssdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpacksswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpacksswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpackusdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpackusdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpackuswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpackuswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddusb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddusw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpaddw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpaddw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpalignr $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpalignr $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.25 vpand %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpand (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.25 vpandn %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpandn (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpavgb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpavgb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpavgw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpavgw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpblendd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 8 1.00 * vpblendd $11, (%rax), %xmm1, %xmm2
@@ -526,48 +526,48 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vpblendvb %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpblendw $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.33 * vpblendw $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastb %xmm0, %xmm0
# CHECK-NEXT: 2 8 1.00 * vpbroadcastb (%rax), %xmm0
-# CHECK-NEXT: 1 2 0.25 vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: 1 2 0.50 vpbroadcastb %xmm0, %ymm0
# CHECK-NEXT: 2 8 2.00 * vpbroadcastb (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpbroadcastd %xmm0, %xmm0
-# CHECK-NEXT: 1 8 0.33 * vpbroadcastd (%rax), %xmm0
-# CHECK-NEXT: 1 2 0.25 vpbroadcastd %xmm0, %ymm0
-# CHECK-NEXT: 1 8 0.33 * vpbroadcastd (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpbroadcastq %xmm0, %xmm0
-# CHECK-NEXT: 1 8 0.33 * vpbroadcastq (%rax), %xmm0
-# CHECK-NEXT: 1 2 0.25 vpbroadcastq %xmm0, %ymm0
-# CHECK-NEXT: 1 8 0.33 * vpbroadcastq (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: 1 2 0.50 vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: 1 2 0.50 vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 1 8 0.50 * vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: 1 1 0.50 vpbroadcastw %xmm0, %xmm0
# CHECK-NEXT: 2 8 1.00 * vpbroadcastw (%rax), %xmm0
-# CHECK-NEXT: 1 2 0.25 vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: 1 2 0.50 vpbroadcastw %xmm0, %ymm0
# CHECK-NEXT: 2 8 2.00 * vpbroadcastw (%rax), %ymm0
-# CHECK-NEXT: 1 1 0.25 vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpeqw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpeqw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpgtb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpgtd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vpcmpgtq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpcmpgtw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 0.25 vperm2i128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 9 0.33 * vperm2i128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 0.25 vpermd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 9 0.33 * vpermd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 0.25 vpermpd $1, %ymm0, %ymm2
-# CHECK-NEXT: 1 9 0.33 * vpermpd $1, (%rax), %ymm2
-# CHECK-NEXT: 1 2 0.25 vpermps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 9 0.33 * vpermps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 0.25 vpermq $1, %ymm0, %ymm2
-# CHECK-NEXT: 1 9 0.33 * vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: 1 2 0.50 vperm2i128 $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vperm2i128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 2 0.50 vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 0.50 vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 9 0.50 * vpermq $1, (%rax), %ymm2
# CHECK-NEXT: 1 100 0.25 * vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: 1 100 0.25 * vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: 1 100 0.25 * vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
@@ -600,29 +600,29 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: 1 100 0.25 * * vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 1 100 0.25 * * vpmaskmovq %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: 1 1 0.25 vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpmaxsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpmaxsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpmaxsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpmaxsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpmaxub %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpmaxub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpmaxud %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpmaxud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpmaxuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpmaxuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpminsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpminsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpminsd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpminsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpminsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpminsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpminub %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpminub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpminud %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpminud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpminuw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 2 2.00 vpmovmskb %ymm0, %ecx
# CHECK-NEXT: 2 4 0.50 vpmovsxbd %xmm0, %ymm2
@@ -667,24 +667,24 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 10 1.00 * vpsadbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpshufb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpshufb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpshufd $1, %ymm0, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpshufd $1, (%rax), %ymm2
-# CHECK-NEXT: 1 1 0.25 vpshufhw $1, %ymm0, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpshufhw $1, (%rax), %ymm2
-# CHECK-NEXT: 1 1 0.25 vpshuflw $1, %ymm0, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpshuflw $1, (%rax), %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.50 vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsignb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsignb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsignd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsignd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsignw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsignw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpslld $1, %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 vpslld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vpslld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpslldq $1, %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsllq $1, %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsllq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vpsllq (%rax), %ymm1, %ymm2
@@ -712,7 +712,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrld $1, %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vpsrld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpsrldq $1, %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlq $1, %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vpsrlq (%rax), %ymm1, %ymm2
@@ -727,38 +727,38 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlw $1, %ymm0, %ymm2
# CHECK-NEXT: 1 1 1.00 vpsrlw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 1.00 * vpsrlw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubsw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubusb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubusw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.33 vpsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpckhwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckhwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpcklbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpckldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpckldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpcklqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 1 0.25 vpunpcklwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 8 0.33 * vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 1 0.50 vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 8 0.50 * vpunpcklwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.25 vpxor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.33 * vpxor (%rax), %ymm1, %ymm2
@@ -779,14 +779,14 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 44.67 44.67 44.67 - - - - - 70.67 103.67 79.50 41.17 -
+# CHECK-NEXT: 44.67 44.67 44.67 - - - - - 61.83 126.83 74.00 32.33 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vbroadcasti128 (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastsd %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vbroadcastss %xmm0, %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vextracti128 $1, %ymm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vbroadcasti128 (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vbroadcastsd %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vbroadcastss %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vextracti128 $1, %ymm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - vextracti128 $1, %ymm0, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - - vgatherdpd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vgatherdpd %ymm0, (%rax,%xmm1,2), %ymm2
@@ -796,51 +796,51 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - vgatherqpd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vgatherqps %xmm0, (%rax,%ymm1,2), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, %xmm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vinserti128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vinserti128 $1, %xmm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vinserti128 $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - vmovntdqa (%rax), %ymm0
# CHECK-NEXT: - - - - - - - - - - - - - vmpsadbw $1, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - vmpsadbw $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpabsb %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpabsb (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpabsd %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpabsd (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpabsw %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpabsw (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpackssdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpackssdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpacksswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpacksswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpackusdw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpackusdw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpackuswb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpackuswb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpaddw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpaddw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpalignr $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpabsb %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpabsb (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpabsd %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpabsd (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpabsw %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpabsw (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpackssdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpackssdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpacksswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpacksswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpackusdw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpackusdw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpackuswb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpackuswb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpaddw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpaddw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpalignr $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpalignr $1, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpand %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpand (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpandn %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpandn (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpavgb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpavgb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpavgw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpavgw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpavgb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpavgb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpavgw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpavgw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vpblendd $11, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 1.00 - - - vpblendd $11, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vpblendd $11, %ymm0, %ymm1, %ymm2
@@ -849,48 +849,48 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpblendvb %ymm3, (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpblendw $11, %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpblendw $11, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastb %xmm0, %xmm0
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 1.00 - - vpbroadcastb (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastb %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastb %xmm0, %ymm0
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 2.00 - - - vpbroadcastb (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %xmm0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd %xmm0, %ymm0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastd (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %xmm0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq %xmm0, %ymm0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastq (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastd %xmm0, %xmm0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpbroadcastd (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastd %xmm0, %ymm0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpbroadcastd (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastq %xmm0, %xmm0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpbroadcastq (%rax), %xmm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastq %xmm0, %ymm0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpbroadcastq (%rax), %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastw %xmm0, %xmm0
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 1.00 - - vpbroadcastw (%rax), %xmm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpbroadcastw %xmm0, %ymm0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpbroadcastw %xmm0, %ymm0
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 2.00 - - - vpbroadcastw (%rax), %ymm0
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpeqw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpeqw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpeqw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpgtb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpgtd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vpcmpgtq %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vpcmpgtq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpcmpgtw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vperm2i128 $1, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vperm2i128 $1, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpermd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpermd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpermpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpermps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpermps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpermq $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpcmpgtw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpcmpgtw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vperm2i128 $1, %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vperm2i128 $1, (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpermd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpermd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpermpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpermpd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpermps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpermps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpermq $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpermq $1, (%rax), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - vpgatherdd %xmm0, (%rax,%xmm1,2), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - vpgatherdd %ymm0, (%rax,%ymm1,2), %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - vpgatherdq %xmm0, (%rax,%xmm1,2), %xmm2
@@ -923,30 +923,30 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 1.00 - - - vpmaskmovq (%rax), %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - - - - vpmaskmovq %xmm0, %xmm1, (%rax)
# CHECK-NEXT: - - - - - - - - - - - - - vpmaskmovq %ymm0, %ymm1, (%rax)
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpmaxuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminsd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminsd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminub %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminub (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminud %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminud (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpminuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpminuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpmaxuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpmaxuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminsd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminsd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminub %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminub (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminud %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminud (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpminuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpminuw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 2.00 - - vpmovmskb %ymm0, %ecx
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpmovsxbd %xmm0, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpmovsxbd (%rax), %ymm2
@@ -990,24 +990,24 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsadbw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - vpsadbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshufb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshufb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshufd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshufhw $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, %ymm0, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpshuflw $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsignb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsignb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsignd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsignd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsignw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsignw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshufb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshufb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshufd $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshufd $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshufhw $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshufhw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpshuflw $1, %ymm0, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpshuflw $1, (%rax), %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsignb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsignb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsignd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsignd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsignw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsignw (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpslld $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpslld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpslld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpslldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpslldq $1, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsllq $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsllq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsllq (%rax), %ymm1, %ymm2
@@ -1035,7 +1035,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrld $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrld %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsrld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsrldq $1, %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpsrldq $1, %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlq $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlq %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsrlq (%rax), %ymm1, %ymm2
@@ -1050,37 +1050,37 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlw $1, %ymm0, %ymm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsrlw %xmm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - vpsrlw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubsb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusb %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubusb (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubusw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubusw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpsubw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckhwd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklbw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpckldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklqdq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpunpcklwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubsb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubsb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubusb %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubusb (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubusw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubusw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - vpsubw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - vpsubw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckhwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckhwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpcklbw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpcklbw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpckldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpckldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpcklqdq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpcklqdq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - vpunpcklwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - vpunpcklwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - vpxor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - vpxor (%rax), %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-mmx.s
index 15561172b6bb..96c9351ececf 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-mmx.s
@@ -179,35 +179,35 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 * packssdw (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 packuswb %mm0, %mm2
# CHECK-NEXT: 1 1 0.50 * packuswb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddd %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddsb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddsb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddsb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddusb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddusb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddusb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddusw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddusw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddusw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddw (%rax), %mm2
# CHECK-NEXT: 1 1 0.25 pand %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pand (%rax), %mm2
# CHECK-NEXT: 1 1 0.25 pandn %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pandn (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqd %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pcmpgtb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pcmpgtd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pcmpgtw (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2
# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %mm2
@@ -241,32 +241,32 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psrlw $1, %mm2
# CHECK-NEXT: 1 1 1.00 psrlw %mm0, %mm2
# CHECK-NEXT: 1 8 1.00 * psrlw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubd %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubsb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubsb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubsb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubusb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubusb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubusb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubusw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubusw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubusw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckhbw %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * punpckhbw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckhdq %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * punpckhdq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckhwd %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * punpckhwd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpcklbw %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * punpcklbw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpckldq %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * punpckldq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 punpcklwd %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * punpcklwd (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 punpckhbw %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 punpckhdq %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 punpckhwd %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 punpcklbw %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 punpckldq %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 punpcklwd %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %mm2
# CHECK-NEXT: 1 1 0.25 pxor %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pxor (%rax), %mm2
@@ -287,7 +287,7 @@ pxor (%rax), %mm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 16.00 16.00 16.00 - - - - - 21.25 18.25 46.25 15.25 -
+# CHECK-NEXT: 16.00 16.00 16.00 - - - - - 21.58 24.58 39.25 15.58 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -306,36 +306,36 @@ pxor (%rax), %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - packssdw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - packuswb %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - packuswb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddsb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddsw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddusb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddusb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddusw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddusw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pand %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pandn %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpgtb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpgtb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpgtd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpgtd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpgtw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpgtw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmaddwd %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmaddwd (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmulhw %mm0, %mm2
@@ -368,31 +368,31 @@ pxor (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrlw $1, %mm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrlw %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - psrlw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubsb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubsw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubusb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubusb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubusw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubusw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhbw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhdq %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhdq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhwd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhwd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpcklbw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpcklbw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckldq %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckldq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpcklwd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpcklwd (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pxor %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
index 59e9c4ecc9b8..030b6521d628 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
@@ -264,20 +264,20 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 10 0.50 * mulss (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orps %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * orps (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pavgb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pavgb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pavgb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pavgw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pavgw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pavgw (%rax), %mm2
# CHECK-NEXT: 1 2 2.00 pextrw $1, %mm0, %ecx
# CHECK-NEXT: 1 1 0.25 pinsrw $1, %eax, %mm2
# CHECK-NEXT: 1 8 0.33 * pinsrw $1, (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pmaxsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pmaxsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pmaxsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pmaxub %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pmaxub %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pmaxub (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pminsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pminsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pminsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pminub %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pminub %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pminub (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pmovmskb %mm0, %ecx
# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2
@@ -288,8 +288,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 8 0.33 * * prefetchnta (%rax)
# CHECK-NEXT: 1 3 1.00 psadbw %mm0, %mm2
# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pshufw $1, %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * pshufw $1, (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 pshufw $1, %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * pshufw $1, (%rax), %mm2
# CHECK-NEXT: 1 5 0.50 rcpps %xmm0, %xmm2
# CHECK-NEXT: 1 12 0.50 * rcpps (%rax), %xmm2
# CHECK-NEXT: 1 5 0.50 rcpss %xmm0, %xmm2
@@ -336,7 +336,7 @@ xorps (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 21.67 21.67 21.67 - - - - - 24.50 30.50 28.50 76.50 -
+# CHECK-NEXT: 21.67 21.67 21.67 - - - - - 25.00 32.00 26.00 77.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -410,21 +410,21 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - mulss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - orps %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - orps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pavgb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pavgb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pavgw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pavgw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - 0.50 2.50 - - pextrw $1, %mm0, %ecx
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, %eax, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminub %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxsw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxub %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxub (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminsw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminub %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminub (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - pmovmskb %mm0, %ecx
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmulhuw %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmulhuw (%rax), %mm2
@@ -434,8 +434,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - prefetchnta (%rax)
# CHECK-NEXT: - - - - - - - - 1.00 - - - - psadbw %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - psadbw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pshufw $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pshufw $1, %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pshufw $1, (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rcpps %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - rcpps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rcpss %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
index 78f32625b8cd..a0535cfa0d02 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
@@ -516,62 +516,62 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 10 0.50 * mulsd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * orpd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packssdw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * packssdw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packsswb %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * packsswb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packuswb %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * packuswb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.50 packssdw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * packssdw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 packsswb %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * packsswb (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 packuswb %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * packuswb (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.33 paddb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddq %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 paddq %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * paddq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 paddq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddusb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddusb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddusb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddusw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddusw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddusw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 paddw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 paddw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * paddw (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pand %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pand (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pandn %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pandn (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pavgb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pavgb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pavgb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pavgw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pavgw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pavgw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpgtb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpgtd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpgtw (%rax), %xmm2
# CHECK-NEXT: 1 2 2.00 pextrw $1, %xmm0, %ecx
# CHECK-NEXT: 1 1 0.25 pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 1 8 0.33 * pinsrw $1, (%rax), %xmm0
# CHECK-NEXT: 1 4 1.00 pmaddwd %xmm0, %xmm2
# CHECK-NEXT: 1 11 1.00 * pmaddwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pmaxsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxub %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxub %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pmaxub (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pminsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminub %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminub %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pminub (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pmovmskb %xmm0, %ecx
# CHECK-NEXT: 1 4 1.00 pmulhuw %xmm0, %xmm2
@@ -588,16 +588,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 8 0.33 * por (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * psadbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pshufd $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2
# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * pslld (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pslldq $1, %xmm2
+# CHECK-NEXT: 1 1 0.50 pslldq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psllq (%rax), %xmm2
@@ -613,47 +613,47 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psrld (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psrldq $1, %xmm2
+# CHECK-NEXT: 1 1 0.50 psrldq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psrlq (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * psrlw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubq %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psubq %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psubq (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psubq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubusb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubusb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubusb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubusw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubusw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubusw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psubw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psubw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhbw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpckhbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpckhdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhqdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckhwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpckhwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpcklbw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpcklbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpckldq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpckldq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpcklqdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 punpcklwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * punpcklwd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpckhbw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpckhdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpckhqdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpckhwd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpcklbw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpckldq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpckldq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpcklqdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * punpcklwd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pxor %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pxor (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 shufpd $1, %xmm0, %xmm2
@@ -692,7 +692,7 @@ xorpd (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 44.33 44.33 44.33 - - - - - 54.42 48.42 85.75 135.42 -
+# CHECK-NEXT: 44.33 44.33 44.33 - - - - - 51.92 60.92 78.25 132.92 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -805,63 +805,63 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - mulsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - orpd %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - orpd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - packssdw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - packssdw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - packsswb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - packsswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - packuswb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - packuswb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddq %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddsb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddsw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddusb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddusw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - paddw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - paddw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - packssdw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - packssdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - packsswb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - packsswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - packuswb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - packuswb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddq %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddsb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddsw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddusb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddusw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - paddw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - paddw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pand %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pand (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pandn %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pandn (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pavgb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pavgb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pavgw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pavgw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpgtw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pavgb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pavgb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pavgw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pavgw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpgtb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpgtb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpgtd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpgtd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpgtw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpgtw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 2.50 - - pextrw $1, %xmm0, %ecx
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pinsrw $1, (%rax), %xmm0
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmaddwd %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmaddwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxub %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxub (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminsw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminub %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminub (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxsw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxub %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxub (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminsw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminub %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminub (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - pmovmskb %xmm0, %ecx
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmulhuw %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmulhuw (%rax), %xmm2
@@ -877,16 +877,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - por (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - psadbw %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - psadbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pshufd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pshufhw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pshuflw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pshufd $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pshufd $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pshufhw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pshufhw $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pshuflw $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - pslld $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - pslld %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - pslld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pslldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pslldq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psllq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psllq %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - psllq (%rax), %xmm2
@@ -902,47 +902,47 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrld $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrld %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - psrld (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psrldq $1, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - psrldq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrlq $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrlq %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - psrlq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrlw $1, %xmm2
# CHECK-NEXT: - - - - - - - - - - 1.00 - - psrlw %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - 1.00 - - psrlw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubq %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubsb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubsw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubusb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubusb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubusw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubusw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psubw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psubw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhbw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckhwd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckhwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpcklbw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpcklbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpckldq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpckldq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpcklqdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - punpcklwd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - punpcklwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubq %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubq (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubsb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubsw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubusb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubusb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubusw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubusw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psubw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psubw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhbw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhqdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckhwd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckhwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpcklbw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpcklbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpckldq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpckldq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpcklqdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpcklqdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - punpcklwd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - punpcklwd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pxor %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pxor (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - shufpd $1, %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse41.s
index 401c50bc4b7e..23eeeb58dbd0 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse41.s
@@ -174,13 +174,13 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1 8 0.33 * movntdqa (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 packusdw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * packusdw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 packusdw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * packusdw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pblendvb %xmm0, %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * pblendvb %xmm0, (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 pblendw $11, %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.33 * pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpeqq %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pcmpeqq (%rax), %xmm2
# CHECK-NEXT: 1 2 2.00 pextrb $1, %xmm0, %ecx
# CHECK-NEXT: 2 5 3.00 * pextrb $1, %xmm0, (%rax)
@@ -197,46 +197,46 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1 8 0.33 * pinsrd $1, (%rax), %xmm1
# CHECK-NEXT: 1 1 0.25 pinsrq $1, %rax, %xmm1
# CHECK-NEXT: 1 8 0.33 * pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: 1 1 0.25 pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pmaxsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pmaxsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxud %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxud %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pmaxud (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pmaxuw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pmaxuw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pminsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pminsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminud %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminud %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pminud (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pminuw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pminuw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pminuw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pmovzxwq (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmuldq %xmm0, %xmm2
# CHECK-NEXT: 1 11 1.00 * pmuldq (%rax), %xmm2
# CHECK-NEXT: 1 4 2.00 pmulld %xmm0, %xmm2
@@ -269,7 +269,7 @@ roundss $1, (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 17.00 17.00 17.00 - - - - - 27.17 26.67 44.00 21.17 -
+# CHECK-NEXT: 17.00 17.00 17.00 - - - - - 22.17 34.67 46.00 16.17 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -292,14 +292,14 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - movntdqa (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - mpsadbw $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - packusdw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - packusdw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - packusdw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - packusdw (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pblendvb %xmm0, %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pblendvb %xmm0, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pblendw $11, %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pblendw $11, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pcmpeqq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pcmpeqq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pcmpeqq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - 0.50 2.50 - - pextrb $1, %xmm0, %ecx
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 1.00 4.00 - - pextrb $1, %xmm0, (%rax)
# CHECK-NEXT: - - - - - - - - - 0.50 2.50 - - pextrd $1, %xmm0, %ecx
@@ -315,46 +315,46 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pinsrd $1, (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, %rax, %xmm1
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pinsrq $1, (%rax), %xmm1
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxsd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxud %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmaxuw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmaxuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminsb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminsd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminud %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminud (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pminuw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pminuw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovsxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovsxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovsxwq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovzxbw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovzxdq (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pmovzxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxsb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxsd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxud %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pmaxuw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pmaxuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminsb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminsd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminud %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminud (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pminuw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pminuw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovsxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovsxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovsxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovsxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovsxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovsxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovsxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovsxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovsxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovsxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovsxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovsxwq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovzxbd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovzxbd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovzxbq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovzxbq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovzxbw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovzxbw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovzxdq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovzxdq (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovzxwd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovzxwd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pmovzxwq %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pmovzxwq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmuldq %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmuldq (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 2.00 - - - - pmulld %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-ssse3.s
index 9af48dcee43f..6e2ecf6f1435 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-ssse3.s
@@ -106,22 +106,22 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.25 pabsb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pabsb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pabsb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pabsb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pabsb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pabsb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pabsd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pabsd %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pabsd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pabsd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pabsd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pabsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pabsw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 pabsw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * pabsw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pabsw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 pabsw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * pabsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 palignr $1, %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * palignr $1, (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 palignr $1, %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * palignr $1, (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 palignr $1, %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * palignr $1, (%rax), %xmm2
# CHECK-NEXT: 1 3 0.25 phaddd %mm0, %mm2
# CHECK-NEXT: 1 10 0.33 * phaddd (%rax), %mm2
# CHECK-NEXT: 1 3 0.25 phaddd %xmm0, %xmm2
@@ -154,21 +154,21 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 pmulhrsw %xmm0, %xmm2
# CHECK-NEXT: 1 11 1.00 * pmulhrsw (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 pshufb %mm0, %mm2
-# CHECK-NEXT: 1 8 0.33 * pshufb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 pshufb %xmm0, %xmm2
-# CHECK-NEXT: 1 8 0.33 * pshufb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psignb %mm0, %mm2
+# CHECK-NEXT: 1 1 0.50 pshufb %mm0, %mm2
+# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %mm2
+# CHECK-NEXT: 1 1 0.50 pshufb %xmm0, %xmm2
+# CHECK-NEXT: 1 8 0.50 * pshufb (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.33 psignb %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psignb (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psignb %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psignb %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psignb (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psignd %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psignd %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psignd (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psignd %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psignd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psignd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.25 psignw %mm0, %mm2
+# CHECK-NEXT: 1 1 0.33 psignw %mm0, %mm2
# CHECK-NEXT: 1 8 0.33 * psignw (%rax), %mm2
-# CHECK-NEXT: 1 1 0.25 psignw %xmm0, %xmm2
+# CHECK-NEXT: 1 1 0.33 psignw %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * psignw (%rax), %xmm2
# CHECK: Resources:
@@ -188,26 +188,26 @@ psignw (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 16.00 8.00 8.00 8.00 -
+# CHECK-NEXT: 10.67 10.67 10.67 - - - - - 16.00 12.00 4.00 8.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pabsb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pabsb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pabsd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pabsd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pabsw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pabsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - palignr $1, %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - palignr $1, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pabsb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pabsb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pabsb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pabsb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pabsd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pabsd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pabsd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pabsd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pabsw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pabsw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - pabsw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - pabsw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - palignr $1, %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - palignr $1, (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - palignr $1, %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - palignr $1, (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - - phaddd %mm0, %mm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - phaddd (%rax), %mm2
# CHECK-NEXT: - - - - - - - - - - - - - phaddd %xmm0, %xmm2
@@ -240,19 +240,19 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmulhrsw (%rax), %mm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pmulhrsw %xmm0, %xmm2
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 1.00 - - - - pmulhrsw (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - pshufb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - pshufb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psignb %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psignb %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psignb (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psignd %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psignd %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psignd (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psignw %mm0, %mm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %mm2
-# CHECK-NEXT: - - - - - - - - 0.25 0.25 0.25 0.25 - psignw %xmm0, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.25 0.25 0.25 0.25 - psignw (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pshufb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pshufb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - pshufb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - 0.50 0.50 - - pshufb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psignb %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psignb (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psignb %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psignb (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psignd %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psignd (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psignd %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psignd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psignw %mm0, %mm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psignw (%rax), %mm2
+# CHECK-NEXT: - - - - - - - - 0.33 0.33 - 0.33 - psignw %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.33 0.33 - 0.33 - psignw (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s b/llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s
index 4d3a7b98e97e..37319e834ea5 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s
@@ -100,12 +100,12 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Iterations: 1
# CHECK-NEXT: Instructions: 83
-# CHECK-NEXT: Total Cycles: 24
+# CHECK-NEXT: Total Cycles: 27
# CHECK-NEXT: Total uOps: 83
# CHECK: Dispatch Width: 4
-# CHECK-NEXT: uOps Per Cycle: 3.46
-# CHECK-NEXT: IPC: 3.46
+# CHECK-NEXT: uOps Per Cycle: 3.07
+# CHECK-NEXT: IPC: 3.07
# CHECK-NEXT: Block RThroughput: 20.8
# CHECK: Instruction Info:
@@ -121,53 +121,53 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.25 subq %rax, %rax
# CHECK-NEXT: 1 1 0.25 xorl %eax, %eax
# CHECK-NEXT: 1 1 0.25 xorq %rax, %rax
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 pcmpgtd %xmm2, %xmm2
# CHECK-NEXT: 1 1 0.50 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %xmm3, %xmm3, %xmm5
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %ymm3, %ymm3, %ymm3
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtd %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.50 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 psubb %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubd %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubq %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubw %mm2, %mm2
-# CHECK-NEXT: 1 1 0.25 psubb %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 psubd %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 psubq %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 psubw %xmm2, %xmm2
-# CHECK-NEXT: 1 1 0.25 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 1 1 0.25 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 1 1 0.25 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 1 1 0.25 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1 0.25 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 psubb %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubd %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubq %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubw %mm2, %mm2
+# CHECK-NEXT: 1 1 0.33 psubb %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubd %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubq %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 psubw %xmm2, %xmm2
+# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 1 1 0.33 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 1 1 0.33 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 1 1 0.33 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 1 0.33 vpsubw %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 1 1 0.25 andnps %xmm0, %xmm0
# CHECK-NEXT: 1 1 0.25 andnpd %xmm1, %xmm1
# CHECK-NEXT: 1 1 0.25 vandnps %xmm2, %xmm2, %xmm2
@@ -232,7 +232,7 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - 19.00 20.00 20.00 20.00 -
+# CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - 22.00 23.00 12.00 22.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -241,58 +241,58 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - 1.00 - - - - - - - - xorl %eax, %eax
# CHECK-NEXT: - - - 1.00 - - - - - - - - - xorq %rax, %rax
# CHECK-NEXT: - - - - - - - - - - - 1.00 - pcmpgtb %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - pcmpgtd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - pcmpgtw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - pcmpgtd %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pcmpgtw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - pcmpgtd %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - pcmpgtw %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtb %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtd %xmm3, %xmm3, %xmm5
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtd %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtw %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - psubb %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - psubb %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - - - 1.00 - psubd %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - psubq %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - psubw %mm2, %mm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - psubb %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - psubd %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - psubq %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - psubw %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - psubq %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - psubw %mm2, %mm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - psubb %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - psubd %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - psubq %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - psubw %xmm2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubq %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubw %xmm3, %xmm3, %xmm3
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubb %ymm3, %ymm3, %ymm3
# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - vpsubq %ymm3, %ymm3, %ymm5
# CHECK-NEXT: - - - - - - - - - 1.00 - - - vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - andnps %xmm0, %xmm0
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - andnpd %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - andnps %xmm0, %xmm0
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - andnpd %xmm1, %xmm1
# CHECK-NEXT: - - - - - - - - - - 1.00 - - vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - vandnpd %ymm1, %ymm1, %ymm1
# CHECK-NEXT: - - - - - - - - - - 1.00 - - pandn %mm2, %mm2
# CHECK-NEXT: - - - - - - - - - 1.00 - - - pandn %xmm2, %xmm2
# CHECK-NEXT: - - - - - - - - 1.00 - - - - vpandn %xmm3, %xmm3, %xmm3
@@ -322,91 +322,91 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789
-# CHECK-NEXT: Index 0123456789 0123
+# CHECK-NEXT: Index 0123456789 0123456
-# CHECK: [0,0] DeER . . . . . subl %eax, %eax
-# CHECK-NEXT: [0,1] DeER . . . . . subq %rax, %rax
-# CHECK-NEXT: [0,2] DeER . . . . . xorl %eax, %eax
-# CHECK-NEXT: [0,3] DeER . . . . . xorq %rax, %rax
-# CHECK-NEXT: [0,4] .DeER. . . . . pcmpgtb %mm2, %mm2
-# CHECK-NEXT: [0,5] .DeER. . . . . pcmpgtd %mm2, %mm2
-# CHECK-NEXT: [0,6] .DeER. . . . . pcmpgtw %mm2, %mm2
-# CHECK-NEXT: [0,7] .DeER. . . . . pcmpgtb %xmm2, %xmm2
-# CHECK-NEXT: [0,8] . DeER . . . . pcmpgtd %xmm2, %xmm2
-# CHECK-NEXT: [0,9] . DeER . . . . pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: [0,10] . DeER . . . . pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: [0,11] . DeER . . . . vpcmpgtb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,12] . DeER . . . . vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,13] . DeER . . . . vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,14] . DeER . . . . vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,15] . DeER . . . . vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,16] . DeER . . . . vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,17] . DeER . . . . vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,18] . DeER . . . . vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,19] . DeER . . . . vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,20] . DeER . . . . vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,21] . DeER . . . . vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,22] . DeER . . . . vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,23] . DeER . . . . vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,24] . .DeER. . . . vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,25] . .DeER. . . . vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,26] . .DeER. . . . vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,27] . .DeER. . . . psubb %mm2, %mm2
-# CHECK-NEXT: [0,28] . . DeER . . . psubd %mm2, %mm2
-# CHECK-NEXT: [0,29] . . DeER . . . psubq %mm2, %mm2
-# CHECK-NEXT: [0,30] . . DeER . . . psubw %mm2, %mm2
-# CHECK-NEXT: [0,31] . . DeER . . . psubb %xmm2, %xmm2
-# CHECK-NEXT: [0,32] . . DeER . . . psubd %xmm2, %xmm2
-# CHECK-NEXT: [0,33] . . DeER . . . psubq %xmm2, %xmm2
-# CHECK-NEXT: [0,34] . . DeER . . . psubw %xmm2, %xmm2
-# CHECK-NEXT: [0,35] . . DeER . . . vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,36] . . DeER . . . vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,37] . . DeER . . . vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,38] . . DeER . . . vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,39] . . DeER . . . vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,40] . . DeER . . . vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,41] . . DeER . . . vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,42] . . DeER . . . vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,43] . . DeER . . . vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,44] . . .DeER. . . vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,45] . . .DeER. . . vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,46] . . .DeER. . . vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,47] . . .DeER. . . vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,48] . . . DeER . . vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,49] . . . DeER . . vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,50] . . . DeER . . vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,51] . . . DeER . . andnps %xmm0, %xmm0
-# CHECK-NEXT: [0,52] . . . DeER . . andnpd %xmm1, %xmm1
-# CHECK-NEXT: [0,53] . . . DeER . . vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,54] . . . DeER . . vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,55] . . . DeER . . vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,56] . . . DeER . . vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,57] . . . DeER . . pandn %mm2, %mm2
-# CHECK-NEXT: [0,58] . . . DeER . . pandn %xmm2, %xmm2
-# CHECK-NEXT: [0,59] . . . DeER . . vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,60] . . . DeER . . vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,61] . . . DeER . . vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: [0,62] . . . DeER . . vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: [0,63] . . . DeER . . vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,64] . . . .DeER. . vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: [0,65] . . . .DeER. . vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: [0,66] . . . .DeER. . vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: [0,67] . . . .DeER. . xorps %xmm0, %xmm0
-# CHECK-NEXT: [0,68] . . . . DeER . xorpd %xmm1, %xmm1
-# CHECK-NEXT: [0,69] . . . . DeER . vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: [0,70] . . . . DeER . vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: [0,71] . . . . DeER . vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: [0,72] . . . . DeER . vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: [0,73] . . . . DeER . pxor %mm2, %mm2
-# CHECK-NEXT: [0,74] . . . . DeER . pxor %xmm2, %xmm2
-# CHECK-NEXT: [0,75] . . . . DeER . vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: [0,76] . . . . DeER. vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: [0,77] . . . . DeER. vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: [0,78] . . . . DeER. vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: [0,79] . . . . DeER. vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: [0,80] . . . . DeER vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: [0,81] . . . . DeER vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: [0,82] . . . . DeER vpxor %ymm3, %ymm3, %ymm5
+# CHECK: [0,0] DeER . . . . .. subl %eax, %eax
+# CHECK-NEXT: [0,1] DeER . . . . .. subq %rax, %rax
+# CHECK-NEXT: [0,2] DeER . . . . .. xorl %eax, %eax
+# CHECK-NEXT: [0,3] DeER . . . . .. xorq %rax, %rax
+# CHECK-NEXT: [0,4] .DeER. . . . .. pcmpgtb %mm2, %mm2
+# CHECK-NEXT: [0,5] .DeER. . . . .. pcmpgtd %mm2, %mm2
+# CHECK-NEXT: [0,6] .DeER. . . . .. pcmpgtw %mm2, %mm2
+# CHECK-NEXT: [0,7] .D=eER . . . .. pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: [0,8] . DeER . . . .. pcmpgtd %xmm2, %xmm2
+# CHECK-NEXT: [0,9] . DeER . . . .. pcmpgtq %xmm2, %xmm2
+# CHECK-NEXT: [0,10] . D=eER . . . .. pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: [0,11] . D=eER . . . .. vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,12] . DeER . . . .. vpcmpgtd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,13] . D=eER . . . .. vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,14] . D=eER . . . .. vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,15] . D=eER . . . .. vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,16] . D=eER . . . .. vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,17] . D=eER . . . .. vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,18] . D=eER . . . .. vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,19] . D==eER. . . .. vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,20] . D=eER. . . .. vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,21] . D=eER. . . .. vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,22] . D==eER . . .. vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,23] . D==eER . . .. vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,24] . .D=eER . . .. vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,25] . .D==eER . . .. vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,26] . .D==eER . . .. vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,27] . .D==eER . . .. psubb %mm2, %mm2
+# CHECK-NEXT: [0,28] . . D==eER . . .. psubd %mm2, %mm2
+# CHECK-NEXT: [0,29] . . D==eER . . .. psubq %mm2, %mm2
+# CHECK-NEXT: [0,30] . . D==eER . . .. psubw %mm2, %mm2
+# CHECK-NEXT: [0,31] . . D===eER . . .. psubb %xmm2, %xmm2
+# CHECK-NEXT: [0,32] . . D==eER . . .. psubd %xmm2, %xmm2
+# CHECK-NEXT: [0,33] . . D==eER . . .. psubq %xmm2, %xmm2
+# CHECK-NEXT: [0,34] . . D===eER. . .. psubw %xmm2, %xmm2
+# CHECK-NEXT: [0,35] . . D===eER. . .. vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,36] . . D==eER. . .. vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,37] . . D===eER . .. vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,38] . . D===eER . .. vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,39] . . D===eER . .. vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,40] . . D===eER . .. vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,41] . . D===eER . .. vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,42] . . D===eER . .. vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,43] . . D====eER . .. vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,44] . . .D===eER . .. vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,45] . . .D===eER . .. vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,46] . . .D====eER . .. vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,47] . . .D====eER . .. vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,48] . . . D===eER . .. vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,49] . . . D====eER. .. vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,50] . . . D====eER. .. vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,51] . . . DeE----R. .. andnps %xmm0, %xmm0
+# CHECK-NEXT: [0,52] . . . DeE---R. .. andnpd %xmm1, %xmm1
+# CHECK-NEXT: [0,53] . . . D=eE--R. .. vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,54] . . . D==eE-R. .. vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,55] . . . D===eER. .. vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,56] . . . D==eER. .. vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,57] . . . D===eER .. pandn %mm2, %mm2
+# CHECK-NEXT: [0,58] . . . D===eER .. pandn %xmm2, %xmm2
+# CHECK-NEXT: [0,59] . . . D===eER .. vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,60] . . . D==eER .. vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,61] . . . D===eER .. vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: [0,62] . . . D===eER .. vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: [0,63] . . . D===eER .. vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,64] . . . .D==eER .. vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: [0,65] . . . .D===eER .. vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: [0,66] . . . .D===eER .. vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: [0,67] . . . .D===eER .. xorps %xmm0, %xmm0
+# CHECK-NEXT: [0,68] . . . . D==eER .. xorpd %xmm1, %xmm1
+# CHECK-NEXT: [0,69] . . . . D===eER .. vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: [0,70] . . . . D===eER .. vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: [0,71] . . . . D===eER .. vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: [0,72] . . . . D==eER .. vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: [0,73] . . . . D===eER.. pxor %mm2, %mm2
+# CHECK-NEXT: [0,74] . . . . D===eER.. pxor %xmm2, %xmm2
+# CHECK-NEXT: [0,75] . . . . D===eER.. vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: [0,76] . . . . D==eER.. vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: [0,77] . . . . D===eER. vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: [0,78] . . . . D===eER. vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: [0,79] . . . . D===eER. vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: [0,80] . . . . D==eER. vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: [0,81] . . . . D===eER vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: [0,82] . . . . D===eER vpxor %ymm3, %ymm3, %ymm5
# CHECK: Average Wait times (based on the timeline view):
# CHECK-NEXT: [0]: Executions
@@ -422,80 +422,80 @@ vpxor %ymm3, %ymm3, %ymm5
# CHECK-NEXT: 4. 1 1.0 1.0 0.0 pcmpgtb %mm2, %mm2
# CHECK-NEXT: 5. 1 1.0 1.0 0.0 pcmpgtd %mm2, %mm2
# CHECK-NEXT: 6. 1 1.0 1.0 0.0 pcmpgtw %mm2, %mm2
-# CHECK-NEXT: 7. 1 1.0 1.0 0.0 pcmpgtb %xmm2, %xmm2
+# CHECK-NEXT: 7. 1 2.0 2.0 0.0 pcmpgtb %xmm2, %xmm2
# CHECK-NEXT: 8. 1 1.0 1.0 0.0 pcmpgtd %xmm2, %xmm2
# CHECK-NEXT: 9. 1 1.0 1.0 0.0 pcmpgtq %xmm2, %xmm2
-# CHECK-NEXT: 10. 1 1.0 1.0 0.0 pcmpgtw %xmm2, %xmm2
-# CHECK-NEXT: 11. 1 1.0 1.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 10. 1 2.0 2.0 0.0 pcmpgtw %xmm2, %xmm2
+# CHECK-NEXT: 11. 1 2.0 2.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm3
# CHECK-NEXT: 12. 1 1.0 1.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 13. 1 1.0 1.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 14. 1 1.0 1.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 15. 1 1.0 1.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 16. 1 1.0 1.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 17. 1 1.0 1.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 18. 1 1.0 1.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 19. 1 1.0 1.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 20. 1 1.0 1.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 21. 1 1.0 1.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 22. 1 1.0 1.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 23. 1 1.0 1.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 24. 1 1.0 1.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 25. 1 1.0 1.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 26. 1 1.0 1.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 27. 1 1.0 1.0 0.0 psubb %mm2, %mm2
-# CHECK-NEXT: 28. 1 1.0 1.0 0.0 psubd %mm2, %mm2
-# CHECK-NEXT: 29. 1 1.0 1.0 0.0 psubq %mm2, %mm2
-# CHECK-NEXT: 30. 1 1.0 1.0 0.0 psubw %mm2, %mm2
-# CHECK-NEXT: 31. 1 1.0 1.0 0.0 psubb %xmm2, %xmm2
-# CHECK-NEXT: 32. 1 1.0 1.0 0.0 psubd %xmm2, %xmm2
-# CHECK-NEXT: 33. 1 1.0 1.0 0.0 psubq %xmm2, %xmm2
-# CHECK-NEXT: 34. 1 1.0 1.0 0.0 psubw %xmm2, %xmm2
-# CHECK-NEXT: 35. 1 1.0 1.0 0.0 vpsubb %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 36. 1 1.0 1.0 0.0 vpsubd %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 37. 1 1.0 1.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 38. 1 1.0 1.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 39. 1 1.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 40. 1 1.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 41. 1 1.0 1.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 42. 1 1.0 1.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 43. 1 1.0 1.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 44. 1 1.0 1.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 45. 1 1.0 1.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 46. 1 1.0 1.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 47. 1 1.0 1.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 48. 1 1.0 1.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 49. 1 1.0 1.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 50. 1 1.0 1.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 51. 1 1.0 1.0 0.0 andnps %xmm0, %xmm0
-# CHECK-NEXT: 52. 1 1.0 1.0 0.0 andnpd %xmm1, %xmm1
-# CHECK-NEXT: 53. 1 1.0 1.0 0.0 vandnps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 54. 1 1.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 55. 1 1.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 56. 1 1.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 57. 1 1.0 1.0 0.0 pandn %mm2, %mm2
-# CHECK-NEXT: 58. 1 1.0 1.0 0.0 pandn %xmm2, %xmm2
-# CHECK-NEXT: 59. 1 1.0 1.0 0.0 vpandn %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 60. 1 1.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 61. 1 1.0 1.0 0.0 vandnps %xmm2, %xmm2, %xmm5
-# CHECK-NEXT: 62. 1 1.0 1.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
-# CHECK-NEXT: 63. 1 1.0 1.0 0.0 vpandn %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 64. 1 1.0 1.0 0.0 vandnps %ymm2, %ymm2, %ymm5
-# CHECK-NEXT: 65. 1 1.0 1.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
-# CHECK-NEXT: 66. 1 1.0 1.0 0.0 vpandn %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 67. 1 1.0 1.0 0.0 xorps %xmm0, %xmm0
-# CHECK-NEXT: 68. 1 1.0 1.0 0.0 xorpd %xmm1, %xmm1
-# CHECK-NEXT: 69. 1 1.0 1.0 0.0 vxorps %xmm2, %xmm2, %xmm2
-# CHECK-NEXT: 70. 1 1.0 1.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
-# CHECK-NEXT: 71. 1 1.0 1.0 0.0 vxorps %ymm2, %ymm2, %ymm2
-# CHECK-NEXT: 72. 1 1.0 1.0 0.0 vxorpd %ymm1, %ymm1, %ymm1
-# CHECK-NEXT: 73. 1 1.0 1.0 0.0 pxor %mm2, %mm2
-# CHECK-NEXT: 74. 1 1.0 1.0 0.0 pxor %xmm2, %xmm2
-# CHECK-NEXT: 75. 1 1.0 1.0 0.0 vpxor %xmm3, %xmm3, %xmm3
-# CHECK-NEXT: 76. 1 1.0 1.0 0.0 vpxor %ymm3, %ymm3, %ymm3
-# CHECK-NEXT: 77. 1 1.0 1.0 0.0 vxorps %xmm4, %xmm4, %xmm5
-# CHECK-NEXT: 78. 1 1.0 1.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
-# CHECK-NEXT: 79. 1 1.0 1.0 0.0 vxorps %ymm4, %ymm4, %ymm5
-# CHECK-NEXT: 80. 1 1.0 1.0 0.0 vxorpd %ymm1, %ymm1, %ymm3
-# CHECK-NEXT: 81. 1 1.0 1.0 0.0 vpxor %xmm3, %xmm3, %xmm5
-# CHECK-NEXT: 82. 1 1.0 1.0 0.0 vpxor %ymm3, %ymm3, %ymm5
-# CHECK-NEXT: 1 1.0 1.0 0.0 <total>
+# CHECK-NEXT: 13. 1 2.0 2.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 14. 1 2.0 2.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 15. 1 2.0 2.0 0.0 vpcmpgtb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 16. 1 2.0 2.0 0.0 vpcmpgtd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 17. 1 2.0 2.0 0.0 vpcmpgtq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 18. 1 2.0 2.0 0.0 vpcmpgtw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 19. 1 3.0 3.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 20. 1 2.0 2.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 21. 1 2.0 2.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 22. 1 3.0 3.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 23. 1 3.0 3.0 0.0 vpcmpgtb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 24. 1 2.0 2.0 0.0 vpcmpgtd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 25. 1 3.0 3.0 0.0 vpcmpgtq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 26. 1 3.0 3.0 0.0 vpcmpgtw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 27. 1 3.0 3.0 0.0 psubb %mm2, %mm2
+# CHECK-NEXT: 28. 1 3.0 3.0 0.0 psubd %mm2, %mm2
+# CHECK-NEXT: 29. 1 3.0 3.0 0.0 psubq %mm2, %mm2
+# CHECK-NEXT: 30. 1 3.0 3.0 0.0 psubw %mm2, %mm2
+# CHECK-NEXT: 31. 1 4.0 4.0 0.0 psubb %xmm2, %xmm2
+# CHECK-NEXT: 32. 1 3.0 3.0 0.0 psubd %xmm2, %xmm2
+# CHECK-NEXT: 33. 1 3.0 3.0 0.0 psubq %xmm2, %xmm2
+# CHECK-NEXT: 34. 1 4.0 4.0 0.0 psubw %xmm2, %xmm2
+# CHECK-NEXT: 35. 1 4.0 4.0 0.0 vpsubb %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 36. 1 3.0 3.0 0.0 vpsubd %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 37. 1 4.0 4.0 0.0 vpsubq %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 38. 1 4.0 4.0 0.0 vpsubw %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 39. 1 4.0 4.0 0.0 vpsubb %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 40. 1 4.0 4.0 0.0 vpsubd %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 41. 1 4.0 4.0 0.0 vpsubq %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 42. 1 4.0 4.0 0.0 vpsubw %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 43. 1 5.0 5.0 0.0 vpsubb %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 44. 1 4.0 4.0 0.0 vpsubd %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 45. 1 4.0 4.0 0.0 vpsubq %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 46. 1 5.0 5.0 0.0 vpsubw %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 47. 1 5.0 5.0 0.0 vpsubb %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 48. 1 4.0 4.0 0.0 vpsubd %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 49. 1 5.0 5.0 0.0 vpsubq %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 50. 1 5.0 5.0 0.0 vpsubw %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 51. 1 1.0 1.0 4.0 andnps %xmm0, %xmm0
+# CHECK-NEXT: 52. 1 1.0 1.0 3.0 andnpd %xmm1, %xmm1
+# CHECK-NEXT: 53. 1 2.0 2.0 2.0 vandnps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 54. 1 3.0 3.0 1.0 vandnpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 55. 1 4.0 4.0 0.0 vandnps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 56. 1 3.0 3.0 0.0 vandnpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 57. 1 4.0 4.0 0.0 pandn %mm2, %mm2
+# CHECK-NEXT: 58. 1 4.0 4.0 0.0 pandn %xmm2, %xmm2
+# CHECK-NEXT: 59. 1 4.0 4.0 0.0 vpandn %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 60. 1 3.0 3.0 0.0 vpandn %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 61. 1 4.0 4.0 0.0 vandnps %xmm2, %xmm2, %xmm5
+# CHECK-NEXT: 62. 1 4.0 4.0 0.0 vandnpd %xmm1, %xmm1, %xmm5
+# CHECK-NEXT: 63. 1 4.0 4.0 0.0 vpandn %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 64. 1 3.0 3.0 0.0 vandnps %ymm2, %ymm2, %ymm5
+# CHECK-NEXT: 65. 1 4.0 4.0 0.0 vandnpd %ymm1, %ymm1, %ymm5
+# CHECK-NEXT: 66. 1 4.0 4.0 0.0 vpandn %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 67. 1 4.0 4.0 0.0 xorps %xmm0, %xmm0
+# CHECK-NEXT: 68. 1 3.0 3.0 0.0 xorpd %xmm1, %xmm1
+# CHECK-NEXT: 69. 1 4.0 4.0 0.0 vxorps %xmm2, %xmm2, %xmm2
+# CHECK-NEXT: 70. 1 4.0 4.0 0.0 vxorpd %xmm1, %xmm1, %xmm1
+# CHECK-NEXT: 71. 1 4.0 4.0 0.0 vxorps %ymm2, %ymm2, %ymm2
+# CHECK-NEXT: 72. 1 3.0 3.0 0.0 vxorpd %ymm1, %ymm1, %ymm1
+# CHECK-NEXT: 73. 1 4.0 4.0 0.0 pxor %mm2, %mm2
+# CHECK-NEXT: 74. 1 4.0 4.0 0.0 pxor %xmm2, %xmm2
+# CHECK-NEXT: 75. 1 4.0 4.0 0.0 vpxor %xmm3, %xmm3, %xmm3
+# CHECK-NEXT: 76. 1 3.0 3.0 0.0 vpxor %ymm3, %ymm3, %ymm3
+# CHECK-NEXT: 77. 1 4.0 4.0 0.0 vxorps %xmm4, %xmm4, %xmm5
+# CHECK-NEXT: 78. 1 4.0 4.0 0.0 vxorpd %xmm1, %xmm1, %xmm3
+# CHECK-NEXT: 79. 1 4.0 4.0 0.0 vxorps %ymm4, %ymm4, %ymm5
+# CHECK-NEXT: 80. 1 3.0 3.0 0.0 vxorpd %ymm1, %ymm1, %ymm3
+# CHECK-NEXT: 81. 1 4.0 4.0 0.0 vpxor %xmm3, %xmm3, %xmm5
+# CHECK-NEXT: 82. 1 4.0 4.0 0.0 vpxor %ymm3, %ymm3, %ymm5
+# CHECK-NEXT: 1 3.1 3.1 0.1 <total>
More information about the llvm-commits
mailing list