[llvm] e5120a4 - [X86] Update WriteMPSAD class and remove VMPSADBWrri override
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 13 07:20:17 PST 2022
Author: Simon Pilgrim
Date: 2022-11-13T15:19:37Z
New Revision: e5120a43d543041bd6ea3e7c6ae96d778799f07c
URL: https://github.com/llvm/llvm-project/commit/e5120a43d543041bd6ea3e7c6ae96d778799f07c
DIFF: https://github.com/llvm/llvm-project/commit/e5120a43d543041bd6ea3e7c6ae96d778799f07c.diff
LOG: [X86] Update WriteMPSAD class and remove VMPSADBWrri override
AMD 15h SoG + Agner both indicate there's no difference between MPSADBWrri + VMPSADBWrri - I can't find any data on the folded variant so I've kept the existing numbers
Removes the last X86 override for WriteMPSAD/WritePSADBW classes - removing a further 3 entries from every sched class table
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleBdVer2.td
llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleBdVer2.td b/llvm/lib/Target/X86/X86ScheduleBdVer2.td
index 6a91d181d320..184f4de5c71a 100644
--- a/llvm/lib/Target/X86/X86ScheduleBdVer2.td
+++ b/llvm/lib/Target/X86/X86ScheduleBdVer2.td
@@ -1150,17 +1150,12 @@ def PdWriteVPMACS : SchedWriteRes<[PdFPU0, PdFPMMA, PdFPMAL]> {
def : InstRW<[PdWriteVPMACS], (instrs VPMACSDQHrr, VPMACSDQLrr, VPMACSSDQHrr,
VPMACSSDQLrr)>;
-defm : PdWriteResXMMPair<WriteMPSAD, [PdFPU0, PdFPMMA], 9, [1, 4], 8>;
+// FIXME: Investigate RR vs RM
diff erences.
+defm : PdWriteRes<WriteMPSAD, [PdFPU0, PdFPMMA], 8, [1, 4], 8>;
+defm : PdWriteRes<WriteMPSADLd, [PdFPU0, PdFPMMA, PdLoad], 14, [1, 4, 3], 8>;
defm : X86WriteResPairUnsupported<WriteMPSADY>;
defm : X86WriteResPairUnsupported<WriteMPSADZ>;
-def PdWriteVMPSADBW : SchedWriteRes<[PdFPU0, PdFPMMA]> {
- let Latency = 8;
- let ResourceCycles = [1, 4];
- let NumMicroOps = 10;
-}
-def : InstRW<[PdWriteVMPSADBW], (instrs VMPSADBWrri)>;
-
defm : PdWriteResXMMPair<WritePSADBW, [PdFPU01, PdFPMAL], 4, [1, 2], 2>;
defm : PdWriteResXMMPair<WritePSADBWX, [PdFPU01, PdFPMAL], 4, [1, 2], 2>;
defm : X86WriteResPairUnsupported<WritePSADBWY>;
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
index 36f009d67e0b..f996defeb252 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
@@ -1337,7 +1337,7 @@ vzeroupper
# CHECK-NEXT: 2 2 1.00 vmovups %ymm0, %ymm2
# CHECK-NEXT: 8 1 1.00 * vmovups %ymm0, (%rax)
# CHECK-NEXT: 2 5 1.50 * vmovups (%rax), %ymm2
-# CHECK-NEXT: 10 8 4.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 8 8 4.00 vmpsadbw $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 8 14 4.00 * vmpsadbw $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 1.00 vmulpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 10 1.50 * vmulpd (%rax), %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
index cb00ddd274de..aa1decc4304f 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-sse41.s
@@ -172,7 +172,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 insertps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * insertps $1, (%rax), %xmm2
# CHECK-NEXT: 1 5 2.00 * movntdqa (%rax), %xmm2
-# CHECK-NEXT: 8 9 4.00 mpsadbw $1, %xmm0, %xmm2
+# CHECK-NEXT: 8 8 4.00 mpsadbw $1, %xmm0, %xmm2
# CHECK-NEXT: 8 14 4.00 * mpsadbw $1, (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 packusdw %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.50 * packusdw (%rax), %xmm2
More information about the llvm-commits
mailing list