Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 86aa3d9

Browse files
committed
[llvm-mca][X86] Add missing monitor/mwait tests
These technically should be under a MONITOR cpuid bit, but we tag them as SSE3 so I've done that here as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351829 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent fddfd5d commit 86aa3d9

File tree

11 files changed

+98
-10
lines changed

11 files changed

+98
-10
lines changed

test/tools/llvm-mca/X86/Atom/resources-sse3.s

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
2121

2222
lddqu (%rax), %xmm2
2323

24+
monitor
25+
2426
movddup %xmm0, %xmm2
2527
movddup (%rax), %xmm2
2628

@@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
3032
movsldup %xmm0, %xmm2
3133
movsldup (%rax), %xmm2
3234

35+
mwait
36+
3337
# CHECK: Instruction Info:
3438
# CHECK-NEXT: [1]: #uOps
3539
# CHECK-NEXT: [2]: Latency
@@ -52,20 +56,22 @@ movsldup (%rax), %xmm2
5256
# CHECK-NEXT: 1 8 4.00 hsubps %xmm0, %xmm2
5357
# CHECK-NEXT: 1 9 4.50 * hsubps (%rax), %xmm2
5458
# CHECK-NEXT: 1 3 1.50 * lddqu (%rax), %xmm2
59+
# CHECK-NEXT: 1 45 22.50 U monitor
5560
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
5661
# CHECK-NEXT: 1 1 1.00 * movddup (%rax), %xmm2
5762
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
5863
# CHECK-NEXT: 1 1 1.00 * movshdup (%rax), %xmm2
5964
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
6065
# CHECK-NEXT: 1 1 1.00 * movsldup (%rax), %xmm2
66+
# CHECK-NEXT: 1 46 23.00 * * U mwait
6167

6268
# CHECK: Resources:
6369
# CHECK-NEXT: [0] - AtomPort0
6470
# CHECK-NEXT: [1] - AtomPort1
6571

6672
# CHECK: Resource pressure per iteration:
6773
# CHECK-NEXT: [0] [1]
68-
# CHECK-NEXT: 58.00 42.00
74+
# CHECK-NEXT: 103.50 87.50
6975

7076
# CHECK: Resource pressure by instruction:
7177
# CHECK-NEXT: [0] [1] Instructions:
@@ -82,9 +88,11 @@ movsldup (%rax), %xmm2
8288
# CHECK-NEXT: 4.00 4.00 hsubps %xmm0, %xmm2
8389
# CHECK-NEXT: 4.50 4.50 hsubps (%rax), %xmm2
8490
# CHECK-NEXT: 1.50 1.50 lddqu (%rax), %xmm2
91+
# CHECK-NEXT: 22.50 22.50 monitor
8592
# CHECK-NEXT: 1.00 - movddup %xmm0, %xmm2
8693
# CHECK-NEXT: 1.00 - movddup (%rax), %xmm2
8794
# CHECK-NEXT: 1.00 - movshdup %xmm0, %xmm2
8895
# CHECK-NEXT: 1.00 - movshdup (%rax), %xmm2
8996
# CHECK-NEXT: 1.00 - movsldup %xmm0, %xmm2
9097
# CHECK-NEXT: 1.00 - movsldup (%rax), %xmm2
98+
# CHECK-NEXT: 23.00 23.00 mwait

test/tools/llvm-mca/X86/BdVer2/resources-sse3.s

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
2121

2222
lddqu (%rax), %xmm2
2323

24+
monitor
25+
2426
movddup %xmm0, %xmm2
2527
movddup (%rax), %xmm2
2628

@@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
3032
movsldup %xmm0, %xmm2
3133
movsldup (%rax), %xmm2
3234

35+
mwait
36+
3337
# CHECK: Instruction Info:
3438
# CHECK-NEXT: [1]: #uOps
3539
# CHECK-NEXT: [2]: Latency
@@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
5256
# CHECK-NEXT: 3 11 1.00 hsubps %xmm0, %xmm2
5357
# CHECK-NEXT: 4 16 1.00 * hsubps (%rax), %xmm2
5458
# CHECK-NEXT: 1 5 0.50 * lddqu (%rax), %xmm2
59+
# CHECK-NEXT: 1 100 0.50 U monitor
5560
# CHECK-NEXT: 1 2 0.50 movddup %xmm0, %xmm2
5661
# CHECK-NEXT: 1 7 0.50 * movddup (%rax), %xmm2
5762
# CHECK-NEXT: 1 2 0.50 movshdup %xmm0, %xmm2
5863
# CHECK-NEXT: 1 7 0.50 * movshdup (%rax), %xmm2
5964
# CHECK-NEXT: 1 2 0.50 movsldup %xmm0, %xmm2
6065
# CHECK-NEXT: 1 7 0.50 * movsldup (%rax), %xmm2
66+
# CHECK-NEXT: 1 100 0.50 * * U mwait
6167

6268
# CHECK: Resources:
6369
# CHECK-NEXT: [0.0] - PdAGLU01
@@ -86,7 +92,7 @@ movsldup (%rax), %xmm2
8692

8793
# CHECK: Resource pressure per iteration:
8894
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18]
89-
# CHECK-NEXT: 5.00 5.00 - - - - - - 9.00 9.00 0.50 0.50 - - 15.50 3.50 - - - 5.00 5.00 - -
95+
# CHECK-NEXT: 5.00 5.00 - - - 1.00 1.00 - 9.00 9.00 0.50 0.50 - - 15.50 3.50 - - - 5.00 5.00 - -
9096

9197
# CHECK: Resource pressure by instruction:
9298
# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions:
@@ -103,9 +109,11 @@ movsldup (%rax), %xmm2
103109
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
104110
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - hsubps (%rax), %xmm2
105111
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - 0.50 0.50 - - lddqu (%rax), %xmm2
112+
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - monitor
106113
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2
107114
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - movddup (%rax), %xmm2
108115
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2
109116
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - movshdup (%rax), %xmm2
110117
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2
111118
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - movsldup (%rax), %xmm2
119+
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - mwait

test/tools/llvm-mca/X86/Broadwell/resources-sse3.s

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
2121

2222
lddqu (%rax), %xmm2
2323

24+
monitor
25+
2426
movddup %xmm0, %xmm2
2527
movddup (%rax), %xmm2
2628

@@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
3032
movsldup %xmm0, %xmm2
3133
movsldup (%rax), %xmm2
3234

35+
mwait
36+
3337
# CHECK: Instruction Info:
3438
# CHECK-NEXT: [1]: #uOps
3539
# CHECK-NEXT: [2]: Latency
@@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
5256
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
5357
# CHECK-NEXT: 4 10 2.00 * hsubps (%rax), %xmm2
5458
# CHECK-NEXT: 1 5 0.50 * lddqu (%rax), %xmm2
59+
# CHECK-NEXT: 1 100 0.25 U monitor
5560
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
5661
# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2
5762
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
5863
# CHECK-NEXT: 1 5 0.50 * movshdup (%rax), %xmm2
5964
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
6065
# CHECK-NEXT: 1 5 0.50 * movsldup (%rax), %xmm2
66+
# CHECK-NEXT: 1 100 0.25 * * U mwait
6167

6268
# CHECK: Resources:
6369
# CHECK-NEXT: [0] - BWDivider
@@ -73,7 +79,7 @@ movsldup (%rax), %xmm2
7379

7480
# CHECK: Resource pressure per iteration:
7581
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
76-
# CHECK-NEXT: - - - 12.00 5.00 5.00 - 19.00 - -
82+
# CHECK-NEXT: - - 0.50 12.50 5.00 5.00 - 19.50 0.50 -
7783

7884
# CHECK: Resource pressure by instruction:
7985
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -90,9 +96,11 @@ movsldup (%rax), %xmm2
9096
# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2
9197
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2
9298
# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2
99+
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - monitor
93100
# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2
94101
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2
95102
# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2
96103
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2
97104
# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2
98105
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2
106+
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - mwait

test/tools/llvm-mca/X86/BtVer2/resources-sse3.s

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
2121

2222
lddqu (%rax), %xmm2
2323

24+
monitor
25+
2426
movddup %xmm0, %xmm2
2527
movddup (%rax), %xmm2
2628

@@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
3032
movsldup %xmm0, %xmm2
3133
movsldup (%rax), %xmm2
3234

35+
mwait
36+
3337
# CHECK: Instruction Info:
3438
# CHECK-NEXT: [1]: #uOps
3539
# CHECK-NEXT: [2]: Latency
@@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
5256
# CHECK-NEXT: 1 4 1.00 hsubps %xmm0, %xmm2
5357
# CHECK-NEXT: 1 9 1.00 * hsubps (%rax), %xmm2
5458
# CHECK-NEXT: 1 5 1.00 * lddqu (%rax), %xmm2
59+
# CHECK-NEXT: 1 100 0.50 U monitor
5560
# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2
5661
# CHECK-NEXT: 1 6 1.00 * movddup (%rax), %xmm2
5762
# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2
5863
# CHECK-NEXT: 1 6 1.00 * movshdup (%rax), %xmm2
5964
# CHECK-NEXT: 1 1 0.50 movsldup %xmm0, %xmm2
6065
# CHECK-NEXT: 1 6 1.00 * movsldup (%rax), %xmm2
66+
# CHECK-NEXT: 1 100 0.50 * * U mwait
6167

6268
# CHECK: Resources:
6369
# CHECK-NEXT: [0] - JALU0
@@ -77,7 +83,7 @@ movsldup (%rax), %xmm2
7783

7884
# CHECK: Resource pressure per iteration:
7985
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
80-
# CHECK-NEXT: - - - 15.00 3.00 15.50 3.50 10.00 - - - 0.50 0.50 -
86+
# CHECK-NEXT: 1.00 1.00 - 15.00 3.00 15.50 3.50 10.00 - - - 0.50 0.50 -
8187

8288
# CHECK: Resource pressure by instruction:
8389
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@@ -94,9 +100,11 @@ movsldup (%rax), %xmm2
94100
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
95101
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2
96102
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2
103+
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - monitor
97104
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2
98105
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movddup (%rax), %xmm2
99106
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2
100107
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movshdup (%rax), %xmm2
101108
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2
102109
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsldup (%rax), %xmm2
110+
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - mwait

test/tools/llvm-mca/X86/Generic/resources-sse3.s

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
2121

2222
lddqu (%rax), %xmm2
2323

24+
monitor
25+
2426
movddup %xmm0, %xmm2
2527
movddup (%rax), %xmm2
2628

@@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
3032
movsldup %xmm0, %xmm2
3133
movsldup (%rax), %xmm2
3234

35+
mwait
36+
3337
# CHECK: Instruction Info:
3438
# CHECK-NEXT: [1]: #uOps
3539
# CHECK-NEXT: [2]: Latency
@@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
5256
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
5357
# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2
5458
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
59+
# CHECK-NEXT: 1 100 0.33 U monitor
5560
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
5661
# CHECK-NEXT: 1 6 0.50 * movddup (%rax), %xmm2
5762
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
5863
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
5964
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
6065
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
66+
# CHECK-NEXT: 1 100 0.33 * * U mwait
6167

6268
# CHECK: Resources:
6369
# CHECK-NEXT: [0] - SBDivider
@@ -71,7 +77,7 @@ movsldup (%rax), %xmm2
7177

7278
# CHECK: Resource pressure per iteration:
7379
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
74-
# CHECK-NEXT: - - - 12.00 - 19.00 5.00 5.00
80+
# CHECK-NEXT: - - 0.67 12.67 - 19.67 5.00 5.00
7581

7682
# CHECK: Resource pressure by instruction:
7783
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -88,9 +94,11 @@ movsldup (%rax), %xmm2
8894
# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubps %xmm0, %xmm2
8995
# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubps (%rax), %xmm2
9096
# CHECK-NEXT: - - - - - - 0.50 0.50 lddqu (%rax), %xmm2
97+
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - monitor
9198
# CHECK-NEXT: - - - - - 1.00 - - movddup %xmm0, %xmm2
9299
# CHECK-NEXT: - - - - - - 0.50 0.50 movddup (%rax), %xmm2
93100
# CHECK-NEXT: - - - - - 1.00 - - movshdup %xmm0, %xmm2
94101
# CHECK-NEXT: - - - - - - 0.50 0.50 movshdup (%rax), %xmm2
95102
# CHECK-NEXT: - - - - - 1.00 - - movsldup %xmm0, %xmm2
96103
# CHECK-NEXT: - - - - - - 0.50 0.50 movsldup (%rax), %xmm2
104+
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - mwait

test/tools/llvm-mca/X86/Haswell/resources-sse3.s

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
2121

2222
lddqu (%rax), %xmm2
2323

24+
monitor
25+
2426
movddup %xmm0, %xmm2
2527
movddup (%rax), %xmm2
2628

@@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
3032
movsldup %xmm0, %xmm2
3133
movsldup (%rax), %xmm2
3234

35+
mwait
36+
3337
# CHECK: Instruction Info:
3438
# CHECK-NEXT: [1]: #uOps
3539
# CHECK-NEXT: [2]: Latency
@@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
5256
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
5357
# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2
5458
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
59+
# CHECK-NEXT: 1 100 0.25 U monitor
5560
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
5661
# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2
5762
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
5863
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
5964
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
6065
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
66+
# CHECK-NEXT: 10 20 2.50 * * U mwait
6167

6268
# CHECK: Resources:
6369
# CHECK-NEXT: [0] - HWDivider
@@ -73,7 +79,7 @@ movsldup (%rax), %xmm2
7379

7480
# CHECK: Resource pressure per iteration:
7581
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
76-
# CHECK-NEXT: - - - 12.00 5.00 5.00 - 19.00 - -
82+
# CHECK-NEXT: - - 2.00 14.00 5.00 5.00 - 22.00 4.00 -
7783

7884
# CHECK: Resource pressure by instruction:
7985
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -90,9 +96,11 @@ movsldup (%rax), %xmm2
9096
# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2
9197
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2
9298
# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2
99+
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - monitor
93100
# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2
94101
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2
95102
# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2
96103
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2
97104
# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2
98105
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2
106+
# CHECK-NEXT: - - 1.75 1.75 - - - 2.75 3.75 - mwait

0 commit comments

Comments
 (0)