-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[llvm-mca][x86] Sync resource tests using generic base references #157511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Some of the targets isa test coverage seems to have bitrotted or is just missing - resync with the generic reference code
@llvm/pr-subscribers-backend-x86 Author: Simon Pilgrim (RKSimon) ChangesSome of the targets isa test coverage seems to have bitrotted or is just missing - resync with the generic reference code Full diff: https://github.com/llvm/llvm-project/pull/157511.diff 5 Files Affected:
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-cmpxchg.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-cmpxchg.s
index 35492c3edf3a1..8765dbd37e8b7 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-cmpxchg.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-cmpxchg.s
@@ -3,6 +3,8 @@
cmpxchg8b (%rax)
cmpxchg16b (%rax)
+lock cmpxchg8b (%rax)
+lock cmpxchg16b (%rax)
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -15,6 +17,8 @@ cmpxchg16b (%rax)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 18 1 0.33 * * cmpxchg8b (%rax)
# CHECK-NEXT: 1 100 0.25 * * cmpxchg16b (%rax)
+# CHECK-NEXT: 18 1 0.33 * * lock cmpxchg8b (%rax)
+# CHECK-NEXT: 1 100 0.25 * * lock cmpxchg16b (%rax)
# CHECK: Resources:
# CHECK-NEXT: [0] - Zn2AGU0
@@ -33,9 +37,11 @@ cmpxchg16b (%rax)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - -
+# CHECK-NEXT: 0.67 0.67 0.67 0.50 0.50 0.50 0.50 - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - cmpxchg8b (%rax)
# CHECK-NEXT: - - - - - - - - - - - - - cmpxchg16b (%rax)
+# CHECK-NEXT: 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - - - lock cmpxchg8b (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - - lock cmpxchg16b (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver3/resources-cmpxchg.s b/llvm/test/tools/llvm-mca/X86/Znver3/resources-cmpxchg.s
index 9ab877636b29a..1667171148a3b 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver3/resources-cmpxchg.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver3/resources-cmpxchg.s
@@ -3,6 +3,8 @@
cmpxchg8b (%rax)
cmpxchg16b (%rax)
+lock cmpxchg8b (%rax)
+lock cmpxchg16b (%rax)
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -15,6 +17,8 @@ cmpxchg16b (%rax)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 19 3 6.00 * * cmpxchg8b (%rax)
# CHECK-NEXT: 28 4 14.75 * * cmpxchg16b (%rax)
+# CHECK-NEXT: 19 3 6.00 * * lock cmpxchg8b (%rax)
+# CHECK-NEXT: 28 4 14.75 * * lock cmpxchg16b (%rax)
# CHECK: Resources:
# CHECK-NEXT: [0] - Zn3AGU0
@@ -43,9 +47,11 @@ cmpxchg16b (%rax)
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: - - - 20.75 20.75 20.75 20.75 - - - - - - - - - - - - - - - -
+# CHECK-NEXT: - - - 41.50 41.50 41.50 41.50 - - - - - - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
# CHECK-NEXT: - - - 6.00 6.00 6.00 6.00 - - - - - - - - - - - - - - - - cmpxchg8b (%rax)
# CHECK-NEXT: - - - 14.75 14.75 14.75 14.75 - - - - - - - - - - - - - - - - cmpxchg16b (%rax)
+# CHECK-NEXT: - - - 6.00 6.00 6.00 6.00 - - - - - - - - - - - - - - - - lock cmpxchg8b (%rax)
+# CHECK-NEXT: - - - 14.75 14.75 14.75 14.75 - - - - - - - - - - - - - - - - lock cmpxchg16b (%rax)
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s
new file mode 100644
index 0000000000000..f42a35e5d3ce0
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-mwaitx.s
@@ -0,0 +1,51 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -instruction-tables < %s | FileCheck %s
+
+monitorx
+mwaitx
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 100 100 25.00 U monitorx
+# CHECK-NEXT: 100 100 25.00 U mwaitx
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - Zn4AGU0
+# CHECK-NEXT: [1] - Zn4AGU1
+# CHECK-NEXT: [2] - Zn4AGU2
+# CHECK-NEXT: [3] - Zn4ALU0
+# CHECK-NEXT: [4] - Zn4ALU1
+# CHECK-NEXT: [5] - Zn4ALU2
+# CHECK-NEXT: [6] - Zn4ALU3
+# CHECK-NEXT: [7] - Zn4BRU1
+# CHECK-NEXT: [8] - Zn4FP0
+# CHECK-NEXT: [9] - Zn4FP1
+# CHECK-NEXT: [10] - Zn4FP2
+# CHECK-NEXT: [11] - Zn4FP3
+# CHECK-NEXT: [12.0] - Zn4FP45
+# CHECK-NEXT: [12.1] - Zn4FP45
+# CHECK-NEXT: [13] - Zn4FPSt
+# CHECK-NEXT: [14.0] - Zn4LSU
+# CHECK-NEXT: [14.1] - Zn4LSU
+# CHECK-NEXT: [14.2] - Zn4LSU
+# CHECK-NEXT: [15.0] - Zn4Load
+# CHECK-NEXT: [15.1] - Zn4Load
+# CHECK-NEXT: [15.2] - Zn4Load
+# CHECK-NEXT: [16.0] - Zn4Store
+# CHECK-NEXT: [16.1] - Zn4Store
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
+# CHECK-NEXT: - - - 50.00 50.00 50.00 50.00 - - - - - - - - - - - - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - monitorx
+# CHECK-NEXT: - - - 25.00 25.00 25.00 25.00 - - - - - - - - - - - - - - - - mwaitx
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s
new file mode 100644
index 0000000000000..553466c35c9fe
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sha.s
@@ -0,0 +1,93 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -instruction-tables < %s | FileCheck %s
+
+sha1msg1 %xmm0, %xmm2
+sha1msg1 (%rax), %xmm2
+
+sha1msg2 %xmm0, %xmm2
+sha1msg2 (%rax), %xmm2
+
+sha1nexte %xmm0, %xmm2
+sha1nexte (%rax), %xmm2
+
+sha1rnds4 $3, %xmm0, %xmm2
+sha1rnds4 $3, (%rax), %xmm2
+
+sha256msg1 %xmm0, %xmm2
+sha256msg1 (%rax), %xmm2
+
+sha256msg2 %xmm0, %xmm2
+sha256msg2 (%rax), %xmm2
+
+sha256rnds2 %xmm0, %xmm2
+sha256rnds2 (%rax), %xmm2
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 2 2 0.50 sha1msg1 %xmm0, %xmm2
+# CHECK-NEXT: 2 6 0.50 * sha1msg1 (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 sha1msg2 %xmm0, %xmm2
+# CHECK-NEXT: 1 5 0.50 * sha1msg2 (%rax), %xmm2
+# CHECK-NEXT: 1 1 0.50 sha1nexte %xmm0, %xmm2
+# CHECK-NEXT: 1 5 0.50 * sha1nexte (%rax), %xmm2
+# CHECK-NEXT: 1 6 2.00 sha1rnds4 $3, %xmm0, %xmm2
+# CHECK-NEXT: 1 10 0.50 * sha1rnds4 $3, (%rax), %xmm2
+# CHECK-NEXT: 2 2 0.75 sha256msg1 %xmm0, %xmm2
+# CHECK-NEXT: 2 6 0.75 * sha256msg1 (%rax), %xmm2
+# CHECK-NEXT: 4 3 2.00 sha256msg2 %xmm0, %xmm2
+# CHECK-NEXT: 5 7 2.00 * sha256msg2 (%rax), %xmm2
+# CHECK-NEXT: 1 4 2.00 sha256rnds2 %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: 1 10 0.50 * sha256rnds2 %xmm0, (%rax), %xmm2
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - Zn4AGU0
+# CHECK-NEXT: [1] - Zn4AGU1
+# CHECK-NEXT: [2] - Zn4AGU2
+# CHECK-NEXT: [3] - Zn4ALU0
+# CHECK-NEXT: [4] - Zn4ALU1
+# CHECK-NEXT: [5] - Zn4ALU2
+# CHECK-NEXT: [6] - Zn4ALU3
+# CHECK-NEXT: [7] - Zn4BRU1
+# CHECK-NEXT: [8] - Zn4FP0
+# CHECK-NEXT: [9] - Zn4FP1
+# CHECK-NEXT: [10] - Zn4FP2
+# CHECK-NEXT: [11] - Zn4FP3
+# CHECK-NEXT: [12.0] - Zn4FP45
+# CHECK-NEXT: [12.1] - Zn4FP45
+# CHECK-NEXT: [13] - Zn4FPSt
+# CHECK-NEXT: [14.0] - Zn4LSU
+# CHECK-NEXT: [14.1] - Zn4LSU
+# CHECK-NEXT: [14.2] - Zn4LSU
+# CHECK-NEXT: [15.0] - Zn4Load
+# CHECK-NEXT: [15.1] - Zn4Load
+# CHECK-NEXT: [15.2] - Zn4Load
+# CHECK-NEXT: [16.0] - Zn4Store
+# CHECK-NEXT: [16.1] - Zn4Store
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
+# CHECK-NEXT: 1.67 1.67 1.67 - - - - - 13.50 12.50 12.50 13.50 1.00 1.00 - 2.33 2.33 2.33 2.33 2.33 2.33 - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - sha1msg1 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1msg1 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - sha1msg2 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1msg2 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - - - - - - - - - - - sha1nexte %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 0.50 0.50 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1nexte (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - sha1rnds4 $3, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha1rnds4 $3, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.75 0.75 0.75 0.75 - - - - - - - - - - - sha256msg1 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.75 0.75 0.75 0.75 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha256msg1 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - sha256msg2 %xmm0, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 2.00 2.00 2.00 2.00 - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha256msg2 (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 2.00 2.00 - - - - - - - - - - - sha256rnds2 %xmm0, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - sha256rnds2 %xmm0, (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s
new file mode 100644
index 0000000000000..36f7604d5efac
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-sse4a.s
@@ -0,0 +1,65 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -instruction-tables < %s | FileCheck %s
+
+extrq %xmm0, %xmm2
+extrq $22, $2, %xmm2
+
+insertq %xmm0, %xmm2
+insertq $22, $22, %xmm0, %xmm2
+
+movntsd %xmm0, (%rax)
+movntss %xmm0, (%rax)
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 3 0.50 extrq %xmm0, %xmm2
+# CHECK-NEXT: 2 3 0.50 extrq $22, $2, %xmm2
+# CHECK-NEXT: 1 3 0.50 insertq %xmm0, %xmm2
+# CHECK-NEXT: 2 3 0.50 insertq $22, $22, %xmm0, %xmm2
+# CHECK-NEXT: 1 1 1.00 * movntsd %xmm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * movntss %xmm0, (%rax)
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - Zn4AGU0
+# CHECK-NEXT: [1] - Zn4AGU1
+# CHECK-NEXT: [2] - Zn4AGU2
+# CHECK-NEXT: [3] - Zn4ALU0
+# CHECK-NEXT: [4] - Zn4ALU1
+# CHECK-NEXT: [5] - Zn4ALU2
+# CHECK-NEXT: [6] - Zn4ALU3
+# CHECK-NEXT: [7] - Zn4BRU1
+# CHECK-NEXT: [8] - Zn4FP0
+# CHECK-NEXT: [9] - Zn4FP1
+# CHECK-NEXT: [10] - Zn4FP2
+# CHECK-NEXT: [11] - Zn4FP3
+# CHECK-NEXT: [12.0] - Zn4FP45
+# CHECK-NEXT: [12.1] - Zn4FP45
+# CHECK-NEXT: [13] - Zn4FPSt
+# CHECK-NEXT: [14.0] - Zn4LSU
+# CHECK-NEXT: [14.1] - Zn4LSU
+# CHECK-NEXT: [14.2] - Zn4LSU
+# CHECK-NEXT: [15.0] - Zn4Load
+# CHECK-NEXT: [15.1] - Zn4Load
+# CHECK-NEXT: [15.2] - Zn4Load
+# CHECK-NEXT: [16.0] - Zn4Store
+# CHECK-NEXT: [16.1] - Zn4Store
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
+# CHECK-NEXT: - - - - - - - - - 2.00 2.00 - 3.00 3.00 2.00 0.67 0.67 0.67 - - - 1.00 1.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - extrq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - extrq $22, $2, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - insertq %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - 0.50 0.50 - - - - - - - - - insertq $22, $22, %xmm0, %xmm2
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntsd %xmm0, (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 1.00 0.33 0.33 0.33 - - - 0.50 0.50 movntss %xmm0, (%rax)
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/157/builds/39243 Here is the relevant piece of the build log for the reference
|
Some of the targets isa test coverage seems to have bitrotted or is just missing - resync with the generic reference code