]> granicus.if.org Git - llvm/commitdiff
[llvm-mca][X86] Add missing monitor/mwait tests
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 22 Jan 2019 15:48:16 +0000 (15:48 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 22 Jan 2019 15:48:16 +0000 (15:48 +0000)
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

test/tools/llvm-mca/X86/Atom/resources-sse3.s
test/tools/llvm-mca/X86/BdVer2/resources-sse3.s
test/tools/llvm-mca/X86/Broadwell/resources-sse3.s
test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
test/tools/llvm-mca/X86/Generic/resources-sse3.s
test/tools/llvm-mca/X86/Haswell/resources-sse3.s
test/tools/llvm-mca/X86/SLM/resources-sse3.s
test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s
test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s
test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s
test/tools/llvm-mca/X86/Znver1/resources-sse3.s

index 8ecbbba79d73b6e7429453b533f03f8fea39a410..c0b4b3048d270b1fc9dea5dcfb898ddd207bd29e 100644 (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
index aedbd80c033e039adea444b2936668ce74c21417..a50f2cb3699f12f214333e5d5cdde6757faa6699 100644 (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
index e660799931c00f480f4cd36263b4f9abbe3fc37f..4f97d12ee6d70df6bee62d27e7e4c797337d568f 100644 (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
index add8bd843bfa068d88724bfc76dfebfff2173742..581af93d5ea3b7587b2e8f2e0a46392bc8d99cfb 100644 (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
index 8438e1a7a8433f88b30e4447eb8c153400fae53b..7b4c0a34f3157176c30b8aaf06e9e46775ae40cc 100644 (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
index 776ff79bec5bb30fe466adba080784f8d1d81863..6832defc50e5921e106dc0d87ce2e53501e2df4b 100644 (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
index ba140f216ed74da4b3fd695ca3e984ff3f07a9f1..484c353b07bf82e012c63cd5269a469c5b5a8011 100644 (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
index 70e3f5b31f44c637ae33105eb742ebb314721fd1..1f1f58674fe3eee98c36cdd1e525a87333d7843c 100644 (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
index d7a9e5aa44fafd56beeba80fbe526d516a7bd401..df495ed45be95f8ab21514608a77675aa387a342 100644 (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
index 0edccb9c78b6c44125ccc2939995e5a7586160c5..61cf0f1fdc393659c5680892501bd4052b209500 100644 (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
index 0e61c4d6c5ce43b031a07235e111b67c338cba47..8de91b63bbb3bce8b8ca297f1de660e41a7ac8ed 100644 (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