[llvm] r351829 - [llvm-mca][X86] Add missing monitor/mwait tests
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 22 07:48:17 PST 2019
Author: rksimon
Date: Tue Jan 22 07:48:16 2019
New Revision: 351829
URL: http://llvm.org/viewvc/llvm-project?rev=351829&view=rev
Log:
[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.
Modified:
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse3.s
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse3.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse3.s?rev=351829&r1=351828&r2=351829&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse3.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse3.s Tue Jan 22 07:48:16 2019
@@ -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
More information about the llvm-commits
mailing list