[llvm] 21aec4f - [X86][SLM] Fix vector PSHUFB + variable shift resource/throughputs
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Wed May 26 03:15:41 PDT 2021
Author: Simon Pilgrim
Date: 2021-05-26T11:14:21+01:00
New Revision: 21aec4fdc5de213a1009bc684adff988c290c6b3
URL: https://github.com/llvm/llvm-project/commit/21aec4fdc5de213a1009bc684adff988c290c6b3
DIFF: https://github.com/llvm/llvm-project/commit/21aec4fdc5de213a1009bc684adff988c290c6b3.diff
LOG: [X86][SLM] Fix vector PSHUFB + variable shift resource/throughputs
Match whats documented in the Intel AOM (+Agner) - PSHUFB xmm is really slow, and mmx/xmm vector shifts are half rate.
Noticed while working to get the cost tables to more closely match llvm-mca analysis, in this case for shifts and truncations.
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleSLM.td
llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s
llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.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 190b52ef3f3c8..bbfd7b34cf2d4 100644
--- a/llvm/lib/Target/X86/X86ScheduleSLM.td
+++ b/llvm/lib/Target/X86/X86ScheduleSLM.td
@@ -321,9 +321,9 @@ def : WriteRes<WriteVecMoveY, [SLM_FPC_RSV01]>;
def : WriteRes<WriteVecMoveToGpr, [SLM_IEC_RSV01]>;
def : WriteRes<WriteVecMoveFromGpr, [SLM_IEC_RSV01]>;
-defm : SLMWriteResPair<WriteVecShift, [SLM_FPC_RSV0], 1>;
-defm : SLMWriteResPair<WriteVecShiftX, [SLM_FPC_RSV0], 1>;
-defm : SLMWriteResPair<WriteVecShiftY, [SLM_FPC_RSV0], 1>;
+defm : SLMWriteResPair<WriteVecShift, [SLM_FPC_RSV0], 2, [2], 2>;
+defm : SLMWriteResPair<WriteVecShiftX, [SLM_FPC_RSV0], 2, [2], 2>;
+defm : SLMWriteResPair<WriteVecShiftY, [SLM_FPC_RSV0], 2, [2], 2>;
defm : X86WriteResPairUnsupported<WriteVecShiftZ>;
defm : SLMWriteResPair<WriteVecShiftImm, [SLM_FPC_RSV0], 1>;
defm : SLMWriteResPair<WriteVecShiftImmX,[SLM_FPC_RSV0], 1>;
@@ -354,8 +354,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], 1>;
-defm : SLMWriteResPair<WriteVarShuffleY, [SLM_FPC_RSV0], 1>;
+defm : SLMWriteResPair<WriteVarShuffleX, [SLM_FPC_RSV0], 5, [5], 4>;
+defm : SLMWriteResPair<WriteVarShuffleY, [SLM_FPC_RSV0], 5, [5], 4>;
defm : X86WriteResPairUnsupported<WriteVarShuffleZ>;
defm : SLMWriteResPair<WriteBlend, [SLM_FPC_RSV0], 1>;
defm : SLMWriteResPair<WriteBlendY, [SLM_FPC_RSV0], 1>;
@@ -397,6 +397,7 @@ defm : SLMWriteResPair<WritePCmpIStrM, [SLM_FPC_RSV0], 13, [13]>;
// Packed Compare Explicit Length Strings, Return Mask
defm : SLMWriteResPair<WritePCmpEStrM, [SLM_FPC_RSV0], 17, [17]>;
+
// Packed Compare Implicit Length Strings, Return Index
defm : SLMWriteResPair<WritePCmpIStrI, [SLM_FPC_RSV0], 17, [17]>;
diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s
index ac4d8622fa626..75ca5dc8b9828 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-mmx.s
@@ -218,29 +218,29 @@ pxor (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 por %mm0, %mm2
# CHECK-NEXT: 1 4 1.00 * por (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 pslld $1, %mm2
-# CHECK-NEXT: 1 1 1.00 pslld %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * pslld (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 pslld %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * pslld (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psllq $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psllq %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psllq (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psllq %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psllq (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psllw $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psllw %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psllw (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psllw %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psllw (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psrad $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psrad %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psrad (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psrad %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psrad (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psraw $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psraw %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psraw (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psraw %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psraw (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psrld $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psrld %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psrld (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psrld %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psrld (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psrlq $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psrlq %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psrlq (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psrlq %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psrlq (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 psrlw $1, %mm2
-# CHECK-NEXT: 1 1 1.00 psrlw %mm0, %mm2
-# CHECK-NEXT: 1 4 1.00 * psrlw (%rax), %mm2
+# CHECK-NEXT: 2 2 2.00 psrlw %mm0, %mm2
+# CHECK-NEXT: 2 5 2.00 * psrlw (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 psubb %mm0, %mm2
# CHECK-NEXT: 1 4 1.00 * psubb (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 psubd %mm0, %mm2
@@ -282,7 +282,7 @@ pxor (%rax), %mm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - - - 77.00 29.00 2.00 2.00 48.00
+# CHECK-NEXT: - - - 93.00 29.00 2.00 2.00 48.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -340,29 +340,29 @@ pxor (%rax), %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - - por %mm0, %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 por (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - pslld $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - pslld %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 pslld (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - pslld %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 pslld (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psllq $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psllq %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psllq (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psllq %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psllq (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psllw $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psllw %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psllw (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psllw %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psllw (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psrad $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psrad %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrad (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psrad %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrad (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psraw $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psraw %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psraw (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psraw %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psraw (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psrld $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psrld %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrld (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psrld %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrld (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psrlq $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psrlq %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlq (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psrlq %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrlq (%rax), %mm2
# CHECK-NEXT: - - - 1.00 - - - - psrlw $1, %mm2
-# CHECK-NEXT: - - - 1.00 - - - - psrlw %mm0, %mm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlw (%rax), %mm2
+# CHECK-NEXT: - - - 2.00 - - - - psrlw %mm0, %mm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrlw (%rax), %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - - psubb %mm0, %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubb (%rax), %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - - psubd %mm0, %mm2
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 954c5cc2f5184..7bcfd6b919bfd 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
@@ -595,31 +595,31 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pshuflw $1, %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pslld $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 pslld %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * pslld (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 pslld %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * pslld (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pslldq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psllq $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psllq %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psllq (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psllq %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psllq (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psllw $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psllw %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psllw (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psllw %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psllw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrad $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psrad %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psrad (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psrad %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psrad (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psraw $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psraw %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psraw (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psraw %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psraw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrld $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psrld %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psrld (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psrld %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psrld (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrldq $1, %xmm2
# CHECK-NEXT: 1 1 1.00 psrlq $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psrlq %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psrlq (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psrlq %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psrlq (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 psrlw $1, %xmm2
-# CHECK-NEXT: 1 1 1.00 psrlw %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * psrlw (%rax), %xmm2
+# CHECK-NEXT: 2 2 2.00 psrlw %xmm0, %xmm2
+# CHECK-NEXT: 2 5 2.00 * psrlw (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 psubb %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * psubb (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 psubd %xmm0, %xmm2
@@ -687,7 +687,7 @@ xorpd (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - 412.00 12.00 158.50 96.50 3.00 3.00 134.00
+# CHECK-NEXT: - 412.00 12.00 174.50 96.50 3.00 3.00 134.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -879,31 +879,31 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - pshuflw $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - - - 1.00 pshuflw $1, (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - pslld $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - pslld %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 pslld (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - pslld %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 pslld (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - pslldq $1, %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psllq $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psllq %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psllq (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psllq %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psllq (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psllw $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psllw %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psllw (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psllw %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psllw (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psrad $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psrad %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrad (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psrad %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrad (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psraw $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psraw %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psraw (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psraw %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psraw (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psrld $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psrld %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrld (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psrld %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrld (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psrldq $1, %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psrlq $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psrlq %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlq (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psrlq %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrlq (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - psrlw $1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - psrlw %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 psrlw (%rax), %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - psrlw %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - 1.00 psrlw (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - - psubb %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psubb (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - - psubd %xmm0, %xmm2
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 6fcec27deb300..3084baecb2ab2 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
@@ -156,8 +156,8 @@ psignw (%rax), %xmm2
# CHECK-NEXT: 1 7 1.00 * pmulhrsw (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 pshufb %mm0, %mm2
# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %mm2
-# CHECK-NEXT: 1 1 1.00 pshufb %xmm0, %xmm2
-# CHECK-NEXT: 1 4 1.00 * pshufb (%rax), %xmm2
+# CHECK-NEXT: 4 5 5.00 pshufb %xmm0, %xmm2
+# CHECK-NEXT: 4 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
@@ -183,7 +183,7 @@ psignw (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: - - - 40.00 24.00 - - 32.00
+# CHECK-NEXT: - - - 48.00 24.00 - - 32.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -237,8 +237,8 @@ psignw (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - 1.00 pmulhrsw (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - pshufb %mm0, %mm2
# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufb (%rax), %mm2
-# CHECK-NEXT: - - - 1.00 - - - - pshufb %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - 1.00 pshufb (%rax), %xmm2
+# CHECK-NEXT: - - - 5.00 - - - - pshufb %xmm0, %xmm2
+# CHECK-NEXT: - - - 5.00 - - - 1.00 pshufb (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - - psignb %mm0, %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 psignb (%rax), %mm2
# CHECK-NEXT: - - - 0.50 0.50 - - - psignb %xmm0, %xmm2
More information about the llvm-commits
mailing list