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.
This commit is contained in:
Simon Pilgrim 2021-09-04 13:38:55 +01:00
parent 73e1ba6215
commit ac51d69208
4 changed files with 18 additions and 18 deletions

View file

@ -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>;

View file

@ -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

View file

@ -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

View file

@ -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