Skip to content

Commit 680afaa

Browse files
committed
[X86][SLM] Fix uops for PCLMULQDQ
Based off a recent llvm-exegesis capture and what Intel AoM / Agner reports as well.
1 parent 498c723 commit 680afaa

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

llvm/lib/Target/X86/X86ScheduleSLM.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ defm : SLMWriteResPair<WriteAESIMC, [SLM_FPC_RSV0], 8, [5]>;
453453
defm : SLMWriteResPair<WriteAESKeyGen, [SLM_FPC_RSV0], 8, [5]>;
454454

455455
// Carry-less multiplication instructions.
456-
defm : SLMWriteResPair<WriteCLMul, [SLM_FPC_RSV0], 10, [10]>;
456+
defm : SLMWriteResPair<WriteCLMul, [SLM_FPC_RSV0], 10, [10], 8, 1>;
457457

458458
def : WriteRes<WriteSystem, [SLM_FPC_RSV0]> { let Latency = 100; }
459459
def : WriteRes<WriteMicrocoded, [SLM_FPC_RSV0]> { let Latency = 100; }

llvm/test/tools/llvm-mca/X86/SLM/resources-pclmul.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ pclmulqdq $11, (%rax), %xmm2
1313
# CHECK-NEXT: [6]: HasSideEffects (U)
1414

1515
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
16-
# CHECK-NEXT: 1 10 10.00 pclmulqdq $11, %xmm0, %xmm2
17-
# CHECK-NEXT: 1 13 10.00 * pclmulqdq $11, (%rax), %xmm2
16+
# CHECK-NEXT: 8 10 10.00 pclmulqdq $11, %xmm0, %xmm2
17+
# CHECK-NEXT: 9 13 10.00 * pclmulqdq $11, (%rax), %xmm2
1818

1919
# CHECK: Resources:
2020
# CHECK-NEXT: [0] - SLMDivider

0 commit comments

Comments
 (0)