[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.

llvm-svn: 351829
This commit is contained in:
Simon Pilgrim 2019-01-22 15:48:16 +00:00
parent 9b3a2f96a1
commit 05198a9b8a
11 changed files with 98 additions and 10 deletions

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 1 8 4.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 1 9 4.50 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 45 22.50 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 46 23.00 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - AtomPort0
@ -65,7 +71,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
# CHECK-NEXT: 58.00 42.00
# CHECK-NEXT: 103.50 87.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@ -82,9 +88,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 4.00 4.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4.50 4.50 hsubps (%rax), %xmm2
# CHECK-NEXT: 1.50 1.50 lddqu (%rax), %xmm2
# CHECK-NEXT: 22.50 22.50 monitor
# CHECK-NEXT: 1.00 - movddup %xmm0, %xmm2
# CHECK-NEXT: 1.00 - movddup (%rax), %xmm2
# CHECK-NEXT: 1.00 - movshdup %xmm0, %xmm2
# CHECK-NEXT: 1.00 - movshdup (%rax), %xmm2
# CHECK-NEXT: 1.00 - movsldup %xmm0, %xmm2
# CHECK-NEXT: 1.00 - movsldup (%rax), %xmm2
# CHECK-NEXT: 23.00 23.00 mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 11 1.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 16 1.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 5 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.50 U monitor
# CHECK-NEXT: 1 2 0.50 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 7 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 2 0.50 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 7 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 2 0.50 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 7 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.50 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0.0] - PdAGLU01
@ -86,7 +92,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# 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]
# CHECK-NEXT: 5.00 5.00 - - - - - - 9.00 9.00 0.50 0.50 - - 15.50 3.50 - - - 5.00 5.00 - -
# 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 - -
# CHECK: Resource pressure by instruction:
# 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
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - hsubps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - 0.50 0.50 - - 0.50 0.50 - - - 0.50 0.50 - - lddqu (%rax), %xmm2
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - monitor
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - movsldup (%rax), %xmm2
# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 10 2.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 5 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 5 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 5 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
@ -73,7 +79,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - - 12.00 5.00 5.00 - 19.00 - -
# CHECK-NEXT: - - 0.50 12.50 5.00 5.00 - 19.50 0.50 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -90,9 +96,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - monitor
# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 1 9 1.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.50 U monitor
# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.50 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
@ -77,7 +83,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
# CHECK-NEXT: - - - 15.00 3.00 15.50 3.50 10.00 - - - 0.50 0.50 -
# CHECK-NEXT: 1.00 1.00 - 15.00 3.00 15.50 3.50 10.00 - - - 0.50 0.50 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@ -94,9 +100,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - - 0.50 0.50 1.00 - - - 0.50 0.50 - lddqu (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - monitor
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - movsldup (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.33 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.33 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@ -71,7 +77,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - - 12.00 - 19.00 5.00 5.00
# CHECK-NEXT: - - 0.67 12.67 - 19.67 5.00 5.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -88,9 +94,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 lddqu (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - monitor
# CHECK-NEXT: - - - - - 1.00 - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 movsldup (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 10 20 2.50 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - HWDivider
@ -73,7 +79,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - - 12.00 5.00 5.00 - 19.00 - -
# CHECK-NEXT: - - 2.00 14.00 5.00 5.00 - 22.00 4.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -90,9 +96,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - 2.00 - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - monitor
# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2
# CHECK-NEXT: - - 1.75 1.75 - - - 2.75 3.75 - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 1.00 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 1.00 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - SLMDivider
@ -71,7 +77,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
# CHECK-NEXT: - - - 14.00 12.00 - - 10.00
# CHECK-NEXT: - - - 16.00 12.00 - - 10.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@ -88,9 +94,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 1.00 - - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 1.00 - - 1.00 hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 lddqu (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - monitor
# CHECK-NEXT: - - - 1.00 - - - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - - - 1.00 movddup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - - - 1.00 movshdup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - - - 1.00 movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 5 2.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 11 2.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.33 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.33 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@ -71,7 +77,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - - 12.00 - 19.00 5.00 5.00
# CHECK-NEXT: - - 0.67 12.67 - 19.67 5.00 5.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@ -88,9 +94,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - 2.00 - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - 1.00 - 2.00 0.50 0.50 hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 lddqu (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - monitor
# CHECK-NEXT: - - - - - 1.00 - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 movsldup (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 6 2.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 12 2.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 10 20 2.50 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - SKLDivider
@ -73,7 +79,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 6.00 6.00 5.00 5.00 - 19.00 - -
# CHECK-NEXT: - - 8.00 8.00 5.00 5.00 - 22.00 4.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -90,9 +96,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 2.00 - - hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - monitor
# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2
# CHECK-NEXT: - - 1.75 1.75 - - - 2.75 3.75 - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 3 6 2.00 hsubps %xmm0, %xmm2
# CHECK-NEXT: 4 12 2.00 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 U monitor
# CHECK-NEXT: 1 1 1.00 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 5 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 6 0.50 * movsldup (%rax), %xmm2
# CHECK-NEXT: 10 20 2.50 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
@ -73,7 +79,7 @@ movsldup (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
# CHECK-NEXT: - - 4.67 4.67 5.00 5.00 - 21.67 - -
# CHECK-NEXT: - - 6.67 6.67 5.00 5.00 - 24.67 4.00 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@ -90,9 +96,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 2.33 - - hsubps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - lddqu (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - monitor
# CHECK-NEXT: - - - - - - - 1.00 - - movddup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - movsldup (%rax), %xmm2
# CHECK-NEXT: - - 1.75 1.75 - - - 2.75 3.75 - mwait

View File

@ -21,6 +21,8 @@ hsubps (%rax), %xmm2
lddqu (%rax), %xmm2
monitor
movddup %xmm0, %xmm2
movddup (%rax), %xmm2
@ -30,6 +32,8 @@ movshdup (%rax), %xmm2
movsldup %xmm0, %xmm2
movsldup (%rax), %xmm2
mwait
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@ -52,12 +56,14 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 hsubps %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * hsubps (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * lddqu (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 U monitor
# CHECK-NEXT: 1 1 0.50 movddup %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * movddup (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 movshdup %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * movshdup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 movsldup %xmm0, %xmm2
# CHECK-NEXT: 1 100 0.25 * movsldup (%rax), %xmm2
# CHECK-NEXT: 1 100 0.25 * * U mwait
# CHECK: Resources:
# CHECK-NEXT: [0] - ZnAGU0
@ -92,9 +98,11 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - hsubps %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - hsubps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - lddqu (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - monitor
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movddup %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movddup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - movshdup %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - movshdup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - movsldup %xmm0, %xmm2
# CHECK-NEXT: - - - - - - - - - - - - movsldup (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - - - - - mwait