aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2020-02-11 11:04:47 -0800
committerCraig Topper <craig.topper@intel.com>2020-02-11 11:24:25 -0800
commitd7de7ac370181ec0acb42fa2e4085c870868c4e0 (patch)
treee3dc110c4f050f8d08e9427c5a18ac0f64b8eb4b
parent9220bbc9091d5804a8321618cf73903c0ec9493f (diff)
downloadllvm-d7de7ac370181ec0acb42fa2e4085c870868c4e0.zip
llvm-d7de7ac370181ec0acb42fa2e4085c870868c4e0.tar.gz
llvm-d7de7ac370181ec0acb42fa2e4085c870868c4e0.tar.bz2
[X86] Raise the latency for VectorImul from 4 to 5 in Skylake scheduler models
Based on uops.info these should have 5 cycle latency as they did on Haswell/Broadwell. I have no additional internal information from Intel. This was also shown as a discrepancy in the spreadsheet that was sent with an early llvm-dev post about llvm-exegesis. It also matches Agner Fog. Differential Revision: https://reviews.llvm.org/D74357
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeClient.td6
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeServer.td8
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s32
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s32
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s12
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s24
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s16
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s32
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s32
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s12
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s24
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s16
16 files changed, 131 insertions, 131 deletions
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index 0950203..febef9c 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -362,9 +362,9 @@ defm : X86WriteResPairUnsupported<WriteVecLogicZ>;
defm : SKLWriteResPair<WriteVecTest, [SKLPort0,SKLPort5], 3, [1,1], 2, 6>; // Vector integer TEST instructions.
defm : SKLWriteResPair<WriteVecTestY, [SKLPort0,SKLPort5], 3, [1,1], 2, 7>;
defm : X86WriteResPairUnsupported<WriteVecTestZ>;
-defm : SKLWriteResPair<WriteVecIMul, [SKLPort0] , 4, [1], 1, 5>; // Vector integer multiply.
-defm : SKLWriteResPair<WriteVecIMulX, [SKLPort01], 4, [1], 1, 6>;
-defm : SKLWriteResPair<WriteVecIMulY, [SKLPort01], 4, [1], 1, 7>;
+defm : SKLWriteResPair<WriteVecIMul, [SKLPort0] , 5, [1], 1, 5>; // Vector integer multiply.
+defm : SKLWriteResPair<WriteVecIMulX, [SKLPort01], 5, [1], 1, 6>;
+defm : SKLWriteResPair<WriteVecIMulY, [SKLPort01], 5, [1], 1, 7>;
defm : X86WriteResPairUnsupported<WriteVecIMulZ>;
defm : SKLWriteResPair<WritePMULLD, [SKLPort01], 10, [2], 2, 6>; // Vector PMULLD.
defm : SKLWriteResPair<WritePMULLDY, [SKLPort01], 10, [2], 2, 7>;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index 2556f06..5589394 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -362,10 +362,10 @@ defm : SKXWriteResPair<WriteVecLogicZ,[SKXPort05], 1, [1], 1, 7>;
defm : SKXWriteResPair<WriteVecTest, [SKXPort0,SKXPort5], 3, [1,1], 2, 6>; // Vector integer TEST instructions.
defm : SKXWriteResPair<WriteVecTestY, [SKXPort0,SKXPort5], 3, [1,1], 2, 7>;
defm : SKXWriteResPair<WriteVecTestZ, [SKXPort0,SKXPort5], 3, [1,1], 2, 7>;
-defm : SKXWriteResPair<WriteVecIMul, [SKXPort0], 4, [1], 1, 5>; // Vector integer multiply.
-defm : SKXWriteResPair<WriteVecIMulX, [SKXPort01], 4, [1], 1, 6>;
-defm : SKXWriteResPair<WriteVecIMulY, [SKXPort01], 4, [1], 1, 7>;
-defm : SKXWriteResPair<WriteVecIMulZ, [SKXPort05], 4, [1], 1, 7>;
+defm : SKXWriteResPair<WriteVecIMul, [SKXPort0], 5, [1], 1, 5>; // Vector integer multiply.
+defm : SKXWriteResPair<WriteVecIMulX, [SKXPort01], 5, [1], 1, 6>;
+defm : SKXWriteResPair<WriteVecIMulY, [SKXPort01], 5, [1], 1, 7>;
+defm : SKXWriteResPair<WriteVecIMulZ, [SKXPort05], 5, [1], 1, 7>;
defm : SKXWriteResPair<WritePMULLD, [SKXPort01], 10, [2], 2, 6>; // Vector PMULLD.
defm : SKXWriteResPair<WritePMULLDY, [SKXPort01], 10, [2], 2, 7>;
defm : SKXWriteResPair<WritePMULLDZ, [SKXPort05], 10, [2], 2, 7>;
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
index 62816f7..210f18c 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
@@ -1477,10 +1477,10 @@ vzeroupper
# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2
# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmaddubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmaddwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmaddwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmaddubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmaddwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vpmaxsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 0.50 * vpmaxsb (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vpmaxsd %xmm0, %xmm1, %xmm2
@@ -1530,20 +1530,20 @@ vzeroupper
# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmuldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmuldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmulhrsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmulhuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmulhuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmulhw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmulhw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmuldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmulhrsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmulhuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmulhw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 10 1.00 vpmulld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmullw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmullw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmuludq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmuludq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmullw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmuludq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vpor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 0.50 * vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
index 9f6b518..8072a06 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
@@ -588,10 +588,10 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
@@ -649,20 +649,20 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmulhw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmuludq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
index 8da7071..75c49be 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
@@ -209,12 +209,12 @@ pxor (%rax), %mm2
# CHECK-NEXT: 2 6 1.00 * pcmpgtd (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm0, %mm2
# CHECK-NEXT: 2 6 1.00 * pcmpgtw (%rax), %mm2
-# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmaddwd (%rax), %mm2
-# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmulhw (%rax), %mm2
-# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmullw (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmaddwd %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmaddwd (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmulhw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmulhw (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmullw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmullw (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2
# CHECK-NEXT: 2 6 0.50 * por (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pslld $1, %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
index 8a2fb55..1155741 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
@@ -280,8 +280,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pminub %mm0, %mm2
# CHECK-NEXT: 2 6 1.00 * pminub (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 pmovmskb %mm0, %ecx
-# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmulhuw (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2
# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax)
# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax)
# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
index 869a2a4..7b31b04 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
@@ -563,8 +563,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx
# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %xmm0
-# CHECK-NEXT: 1 4 0.50 pmaddwd %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmaddwd (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmaddwd %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmaddwd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2
@@ -574,16 +574,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx
-# CHECK-NEXT: 1 4 0.50 pmulhuw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmulhuw (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 pmulhw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmulhw (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 pmullw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmullw (%rax), %xmm2
-# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmuludq (%rax), %mm2
-# CHECK-NEXT: 1 4 0.50 pmuludq %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmuludq (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmulhuw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmulhuw (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmulhw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmulhw (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmullw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmullw (%rax), %xmm2
+# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2
+# CHECK-NEXT: 1 5 0.50 pmuludq %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmuludq (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
index 5789de0..6e11bb6 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
@@ -237,8 +237,8 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 pmuldq %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmuldq %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmuldq (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 pmulld %xmm0, %xmm2
# CHECK-NEXT: 3 16 1.00 * pmulld (%rax), %xmm2
# CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
index a0e2de6e..047974f 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
@@ -146,14 +146,14 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2
# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2
# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2
-# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmaddubsw (%rax), %mm2
-# CHECK-NEXT: 1 4 0.50 pmaddubsw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmaddubsw (%rax), %xmm2
-# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmulhrsw (%rax), %mm2
-# CHECK-NEXT: 1 4 0.50 pmulhrsw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmulhrsw (%rax), %xmm2
+# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2
+# CHECK-NEXT: 1 5 0.50 pmaddubsw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmaddubsw (%rax), %xmm2
+# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2
+# CHECK-NEXT: 1 5 0.50 pmulhrsw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmulhrsw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2
# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
index 97eb3ae..5a867192 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
@@ -1477,10 +1477,10 @@ vzeroupper
# CHECK-NEXT: 2 6 1.00 * vpinsrq $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 2.00 vpinsrw $1, %eax, %xmm1, %xmm2
# CHECK-NEXT: 2 6 1.00 * vpinsrw $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmaddubsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmaddwd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmaddwd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmaddubsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmaddwd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vpmaxsb %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 0.50 * vpmaxsb (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 vpmaxsd %xmm0, %xmm1, %xmm2
@@ -1530,20 +1530,20 @@ vzeroupper
# CHECK-NEXT: 2 6 1.00 * vpmovzxwd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 vpmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * vpmovzxwq (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmuldq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmuldq (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmulhrsw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmulhuw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmulhuw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmulhw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmulhw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmuldq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmulhrsw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmulhuw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmulhw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 10 1.00 vpmulld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 3 16 1.00 * vpmulld (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmullw %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmullw (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vpmuludq %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vpmuludq (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmullw %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 5 0.50 vpmuludq %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vpor %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 0.50 * vpor (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %xmm0, %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
index f9c51a1..546ff0c 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
@@ -588,10 +588,10 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 4 10 2.00 * vphsubsw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 3 3 2.00 vphsubw %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 4 10 2.00 * vphsubw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmaddwd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmaddubsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmaddubsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmaddwd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
@@ -649,20 +649,20 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 9 1.00 * vpmovzxwd (%rax), %ymm2
# CHECK-NEXT: 1 3 1.00 vpmovzxwq %xmm0, %ymm2
# CHECK-NEXT: 2 10 1.00 * vpmovzxwq (%rax), %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmuldq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmuldq (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmulhuw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmulhw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmulhw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmuldq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmuldq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmulhrsw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmulhrsw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmulhuw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmulhuw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmulhw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmulhw (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 10 1.00 vpmulld %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 3 17 1.00 * vpmulld (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmullw %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmullw (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vpmuludq %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vpmuludq (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmullw %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmullw (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 5 0.50 vpmuludq %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 0.50 * vpmuludq (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.33 vpor %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 1.00 vpsadbw %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s
index 91c550c..befbe68 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s
@@ -209,12 +209,12 @@ pxor (%rax), %mm2
# CHECK-NEXT: 2 6 1.00 * pcmpgtd (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pcmpgtw %mm0, %mm2
# CHECK-NEXT: 2 6 1.00 * pcmpgtw (%rax), %mm2
-# CHECK-NEXT: 1 4 1.00 pmaddwd %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmaddwd (%rax), %mm2
-# CHECK-NEXT: 1 4 1.00 pmulhw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmulhw (%rax), %mm2
-# CHECK-NEXT: 1 4 1.00 pmullw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmullw (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmaddwd %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmaddwd (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmulhw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmulhw (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmullw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmullw (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2
# CHECK-NEXT: 2 6 0.50 * por (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pslld $1, %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
index 7ce8735..9754746 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
@@ -280,8 +280,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pminub %mm0, %mm2
# CHECK-NEXT: 2 6 1.00 * pminub (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 pmovmskb %mm0, %ecx
-# CHECK-NEXT: 1 4 1.00 pmulhuw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmulhuw (%rax), %mm2
+# CHECK-NEXT: 1 5 1.00 pmulhuw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmulhuw (%rax), %mm2
# CHECK-NEXT: 1 5 0.50 * * prefetcht0 (%rax)
# CHECK-NEXT: 1 5 0.50 * * prefetcht1 (%rax)
# CHECK-NEXT: 1 5 0.50 * * prefetcht2 (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
index 27ecebd..6a09e15 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
@@ -563,8 +563,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 3 1.00 pextrw $1, %xmm0, %ecx
# CHECK-NEXT: 2 2 2.00 pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 2 6 1.00 * pinsrw $1, (%rax), %xmm0
-# CHECK-NEXT: 1 4 0.50 pmaddwd %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmaddwd (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmaddwd %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmaddwd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * pmaxsw (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pmaxub %xmm0, %xmm2
@@ -574,16 +574,16 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pminub %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * pminub (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 pmovmskb %xmm0, %ecx
-# CHECK-NEXT: 1 4 0.50 pmulhuw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmulhuw (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 pmulhw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmulhw (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 pmullw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmullw (%rax), %xmm2
-# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmuludq (%rax), %mm2
-# CHECK-NEXT: 1 4 0.50 pmuludq %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmuludq (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmulhuw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmulhuw (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmulhw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmulhw (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmullw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmullw (%rax), %xmm2
+# CHECK-NEXT: 1 5 1.00 pmuludq %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmuludq (%rax), %mm2
+# CHECK-NEXT: 1 5 0.50 pmuludq %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmuludq (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 por %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * por (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 psadbw %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
index 9c4ccd4..15cd09b 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
@@ -237,8 +237,8 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 pmuldq %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2
+# CHECK-NEXT: 1 5 0.50 pmuldq %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmuldq (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 pmulld %xmm0, %xmm2
# CHECK-NEXT: 3 16 1.00 * pmulld (%rax), %xmm2
# CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
index bc28ab5..c8b5cbb 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
@@ -146,14 +146,14 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 4 8 2.00 * phsubw (%rax), %mm2
# CHECK-NEXT: 3 3 2.00 phsubw %xmm0, %xmm2
# CHECK-NEXT: 4 9 2.00 * phsubw (%rax), %xmm2
-# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmaddubsw (%rax), %mm2
-# CHECK-NEXT: 1 4 0.50 pmaddubsw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmaddubsw (%rax), %xmm2
-# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2
-# CHECK-NEXT: 2 9 1.00 * pmulhrsw (%rax), %mm2
-# CHECK-NEXT: 1 4 0.50 pmulhrsw %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * pmulhrsw (%rax), %xmm2
+# CHECK-NEXT: 1 5 1.00 pmaddubsw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmaddubsw (%rax), %mm2
+# CHECK-NEXT: 1 5 0.50 pmaddubsw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmaddubsw (%rax), %xmm2
+# CHECK-NEXT: 1 5 1.00 pmulhrsw %mm0, %mm2
+# CHECK-NEXT: 2 10 1.00 * pmulhrsw (%rax), %mm2
+# CHECK-NEXT: 1 5 0.50 pmulhrsw %xmm0, %xmm2
+# CHECK-NEXT: 2 11 0.50 * pmulhrsw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2
# CHECK-NEXT: 2 6 1.00 * pshufb (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2