From ac51d69208719a5d0b8609f46c793240ed9ff6bd Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sat, 4 Sep 2021 13:38:55 +0100 Subject: [PATCH] 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. --- llvm/lib/Target/X86/X86ScheduleSLM.td | 4 ++-- .../tools/llvm-mca/X86/SLM/resources-sse2.s | 20 +++++++++---------- .../tools/llvm-mca/X86/SLM/resources-sse41.s | 4 ++-- .../tools/llvm-mca/X86/SLM/resources-ssse3.s | 8 ++++---- 4 files changed, 18 insertions(+), 18 deletions(-) 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; defm : SLMWriteResPair; defm : X86WriteResPairUnsupported; defm : SLMWriteResPair; -defm : SLMWriteResPair; -defm : SLMWriteResPair; +defm : SLMWriteResPair; +defm : SLMWriteResPair; defm : X86WriteResPairUnsupported; // FIXME: The below is closer to correct, but caused some perf regressions. //defm : SLMWriteResPair; 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