[llvm] 1bd6471 - [X86] Remove SandyBridge CVTSS2SIrm/CVTSD2SIrm overrides
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 5 05:22:43 PDT 2022
Author: Simon Pilgrim
Date: 2022-11-05T11:32:26Z
New Revision: 1bd6471c125d4de288753da0ff8737375503b796
URL: https://github.com/llvm/llvm-project/commit/1bd6471c125d4de288753da0ff8737375503b796
DIFF: https://github.com/llvm/llvm-project/commit/1bd6471c125d4de288753da0ff8737375503b796.diff
LOG: [X86] Remove SandyBridge CVTSS2SIrm/CVTSD2SIrm overrides
Just use the default WriteCvtSS2I/WriteCvtSD2I folded variants (already used by the VCVTSS2SI/VCVTSD2SI AVX variants).
Confirmed with agner and uops.info - there should be no difference between the SSE/AVX1 variants in folded load latency
Added:
Modified:
llvm/lib/Target/X86/X86SchedSandyBridge.td
llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s
llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index 0f90036eb38e3..b1dd52da3fa23 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -1002,13 +1002,6 @@ def SBWriteResGroup87 : SchedWriteRes<[SBPort4,SBPort5,SBPort01,SBPort23]> {
}
def: InstRW<[SBWriteResGroup87], (instrs FARCALL64m)>;
-def SBWriteResGroup93 : SchedWriteRes<[SBPort0,SBPort1,SBPort23]> {
- let Latency = 9;
- let NumMicroOps = 3;
- let ResourceCycles = [1,1,1];
-}
-def: InstRW<[SBWriteResGroup93], (instregex "CVT(T?)(SD|SS)2SI(64)?rm")>;
-
def SBWriteResGroup95 : SchedWriteRes<[SBPort5,SBPort01,SBPort23]> {
let Latency = 9;
let NumMicroOps = 3;
diff --git a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
index 39a99e8a12408..291b8cd43cb4e 100644
--- a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
@@ -218,14 +218,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 3 10 1.00 * cvtsi2ssq (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvtss2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvtss2si (%rax), %rcx
# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2
# CHECK-NEXT: 2 9 1.00 * cvttps2pi (%rax), %mm2
# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvttss2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvttss2si (%rax), %rcx
# CHECK-NEXT: 1 14 14.00 divps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
index 7a8d4b03a9356..904454a547077 100644
--- a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse2.s
@@ -440,8 +440,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * cvtps2pd (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %rcx
# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2
# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2
# CHECK-NEXT: 2 4 1.00 cvtsi2sd %ecx, %xmm2
@@ -458,8 +458,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %rcx
# CHECK-NEXT: 1 22 22.00 divpd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
index 39a99e8a12408..291b8cd43cb4e 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
@@ -218,14 +218,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 3 10 1.00 * cvtsi2ssq (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvtss2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvtss2si (%rax), %rcx
# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2
# CHECK-NEXT: 2 9 1.00 * cvttps2pi (%rax), %mm2
# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvttss2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvttss2si (%rax), %rcx
# CHECK-NEXT: 1 14 14.00 divps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s
index 7a8d4b03a9356..904454a547077 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-sse2.s
@@ -440,8 +440,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * cvtps2pd (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %rcx
# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2
# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2
# CHECK-NEXT: 2 4 1.00 cvtsi2sd %ecx, %xmm2
@@ -458,8 +458,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %rcx
# CHECK-NEXT: 1 22 22.00 divpd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
index 28915f49790d9..02b5810cda417 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
@@ -218,14 +218,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 3 10 1.00 * cvtsi2ssq (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvtss2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvtss2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvtss2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvtss2si (%rax), %rcx
# CHECK-NEXT: 1 3 1.00 cvttps2pi %xmm0, %mm2
# CHECK-NEXT: 2 9 1.00 * cvttps2pi (%rax), %mm2
# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvttss2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvttss2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvttss2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvttss2si (%rax), %rcx
# CHECK-NEXT: 1 14 14.00 divps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
index 2b6255c697fa1..c3b8b7389df4c 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
@@ -440,8 +440,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * cvtps2pd (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvtsd2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvtsd2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvtsd2si (%rax), %rcx
# CHECK-NEXT: 2 4 1.00 cvtsd2ss %xmm0, %xmm2
# CHECK-NEXT: 3 10 1.00 * cvtsd2ss (%rax), %xmm2
# CHECK-NEXT: 2 4 1.00 cvtsi2sd %ecx, %xmm2
@@ -458,8 +458,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 9 1.00 * cvttps2dq (%rax), %xmm2
# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %ecx
# CHECK-NEXT: 2 5 1.00 cvttsd2si %xmm0, %rcx
-# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %ecx
-# CHECK-NEXT: 3 9 1.00 * cvttsd2si (%rax), %rcx
+# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * cvttsd2si (%rax), %rcx
# CHECK-NEXT: 1 22 22.00 divpd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
More information about the llvm-commits
mailing list