diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-10-16 21:29:24 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-10-17 18:13:14 +0100 |
commit | 498c7236bc763cdee7e7a26e4e411b05b32735c5 (patch) | |
tree | 1456739190c1b6bbed23eb97e0fd39cad4f5e09f | |
parent | 274b2439f8392796e04e366ce5ff47434bd077e1 (diff) | |
download | llvm-498c7236bc763cdee7e7a26e4e411b05b32735c5.tar.gz |
[X86][SLM] +1uop for PSHUFBrm xmm
Extra 1uop for folded pshufb ops, based off a recent llvm-exegesis capture and what Intel AoM / Agner reports as well.
-rw-r--r-- | llvm/lib/Target/X86/X86ScheduleSLM.td | 4 | ||||
-rw-r--r-- | llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleSLM.td b/llvm/lib/Target/X86/X86ScheduleSLM.td index 51882bcab73d..d2abe4099eec 100644 --- a/llvm/lib/Target/X86/X86ScheduleSLM.td +++ b/llvm/lib/Target/X86/X86ScheduleSLM.td @@ -385,8 +385,8 @@ defm : SLMWriteResPair<WriteShuffleY, [SLM_FPC_RSV0], 1>; defm : X86WriteResPairUnsupported<WriteShuffleZ>; defm : SLMWriteResPair<WriteShuffleX, [SLM_FPC_RSV0], 1>; defm : SLMWriteResPair<WriteVarShuffle, [SLM_FPC_RSV0], 1>; -defm : SLMWriteResPair<WriteVarShuffleX, [SLM_FPC_RSV0], 5, [5], 4>; -defm : SLMWriteResPair<WriteVarShuffleY, [SLM_FPC_RSV0], 5, [5], 4>; +defm : SLMWriteResPair<WriteVarShuffleX, [SLM_FPC_RSV0], 5, [5], 4, 1>; +defm : X86WriteResPairUnsupported<WriteVarShuffleY>; defm : X86WriteResPairUnsupported<WriteVarShuffleZ>; defm : SLMWriteResPair<WriteBlend, [SLM_FPC_RSV0], 1>; defm : SLMWriteResPair<WriteBlendY, [SLM_FPC_RSV0], 1>; 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 e74a73f5bb3d..7fe497d9af27 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s @@ -157,7 +157,7 @@ psignw (%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 -# CHECK-NEXT: 4 8 5.00 * pshufb (%rax), %xmm2 +# CHECK-NEXT: 5 8 5.00 * pshufb (%rax), %xmm2 # CHECK-NEXT: 1 1 0.50 psignb %mm0, %mm2 # CHECK-NEXT: 1 4 1.00 * psignb (%rax), %mm2 # CHECK-NEXT: 1 1 0.50 psignb %xmm0, %xmm2 |