[llvm] ac51d69 - Revert rG994da657076900f5ad7fe593c3b5e5f89ab3d53d "[X86][SLM] WriteVecIMul instructions only take 1uop"
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 4 05:39:20 PDT 2021
Author: Simon Pilgrim
Date: 2021-09-04T13:39:10+01:00
New Revision: ac51d69208719a5d0b8609f46c793240ed9ff6bd
URL: https://github.com/llvm/llvm-project/commit/ac51d69208719a5d0b8609f46c793240ed9ff6bd
DIFF: https://github.com/llvm/llvm-project/commit/ac51d69208719a5d0b8609f46c793240ed9ff6bd.diff
LOG: Revert rG994da657076900f5ad7fe593c3b5e5f89ab3d53d "[X86][SLM] WriteVecIMul instructions only take 1uop"
This changed some codegen tests that I forgot about in my rebase, I'll recommit shortly with a fix.
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleSLM.td
llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s
llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleSLM.td b/llvm/lib/Target/X86/X86ScheduleSLM.td
index 2bcb33e6b0bc..a545f3cecb7c 100644
--- a/llvm/lib/Target/X86/X86ScheduleSLM.td
+++ b/llvm/lib/Target/X86/X86ScheduleSLM.td
@@ -372,8 +372,8 @@ defm : SLMWriteResPair<WriteVecALUX, [SLM_FPC_RSV01], 1>;
defm : SLMWriteResPair<WriteVecALUY, [SLM_FPC_RSV01], 1>;
defm : X86WriteResPairUnsupported<WriteVecALUZ>;
defm : SLMWriteResPair<WriteVecIMul, [SLM_FPC_RSV0], 4>;
-defm : SLMWriteResPair<WriteVecIMulX, [SLM_FPC_RSV0], 5, [2]>;
-defm : SLMWriteResPair<WriteVecIMulY, [SLM_FPC_RSV0], 5, [2]>;
+defm : SLMWriteResPair<WriteVecIMulX, [SLM_FPC_RSV0], 5, [2], 2>;
+defm : SLMWriteResPair<WriteVecIMulY, [SLM_FPC_RSV0], 5, [2], 2>;
defm : X86WriteResPairUnsupported<WriteVecIMulZ>;
// FIXME: The below is closer to correct, but caused some perf regressions.
//defm : SLMWriteResPair<WritePMULLD, [SLM_FPC_RSV0], 11, [11], 7>;
diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
index dfdfa1320a2a..8c5fff166cab 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
@@ -563,8 +563,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pextrw $1, %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 pinsrw $1, %eax, %xmm0
# CHECK-NEXT: 1 4 1.00 * pinsrw $1, (%rax), %xmm0
-# CHECK-NEXT: 1 5 2.00 pmaddwd %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmaddwd (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmaddwd %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmaddwd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 pmaxsw %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * 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: 1 4 1.00 * pminub (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmovmskb %xmm0, %ecx
-# CHECK-NEXT: 1 5 2.00 pmulhuw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmulhuw (%rax), %xmm2
-# CHECK-NEXT: 1 5 2.00 pmulhw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmulhw (%rax), %xmm2
-# CHECK-NEXT: 1 5 2.00 pmullw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmullw (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmulhuw %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmulhuw (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmulhw %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmulhw (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmullw %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmullw (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmuludq %mm0, %mm2
# CHECK-NEXT: 1 7 1.00 * pmuludq (%rax), %mm2
-# CHECK-NEXT: 1 5 2.00 pmuludq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmuludq (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmuludq %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmuludq (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 por %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * por (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 psadbw %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s
index e0e19e681853..2bcebead6181 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s
@@ -237,8 +237,8 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 * pmovzxwd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * pmovzxwq (%rax), %xmm2
-# CHECK-NEXT: 1 5 2.00 pmuldq %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmuldq (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmuldq %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmuldq (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmulld %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * pmulld (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 ptest %xmm0, %xmm1
diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
index 3fb48787d929..f6c1bfe3bae8 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
@@ -148,12 +148,12 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 * phsubw (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmaddubsw %mm0, %mm2
# CHECK-NEXT: 1 7 1.00 * pmaddubsw (%rax), %mm2
-# CHECK-NEXT: 1 5 2.00 pmaddubsw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmaddubsw (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmaddubsw %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmaddubsw (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 pmulhrsw %mm0, %mm2
# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %mm2
-# CHECK-NEXT: 1 5 2.00 pmulhrsw %xmm0, %xmm2
-# CHECK-NEXT: 1 8 2.00 * pmulhrsw (%rax), %xmm2
+# CHECK-NEXT: 2 5 2.00 pmulhrsw %xmm0, %xmm2
+# CHECK-NEXT: 2 8 2.00 * pmulhrsw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2
# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %mm2
# CHECK-NEXT: 4 5 5.00 pshufb %xmm0, %xmm2
More information about the llvm-commits
mailing list