]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
Vendor import of llvm trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / test / tools / llvm-mca / X86 / SandyBridge / zero-idioms.s
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sandybridge -timeline -register-file-stats -iterations=1 < %s | FileCheck %s
3
4 # On SNB, renamer-based zeroing does not work for:
5 #  - 16 and 8-bit GPRs
6 #  - MMX
7 #  - ANDN variants
8
9 subl  %eax, %eax
10 subq  %rax, %rax
11 xorl  %eax, %eax
12 xorq  %rax, %rax
13
14 pcmpgtb   %mm2, %mm2
15 pcmpgtd   %mm2, %mm2
16 # pcmpgtq   %mm2, %mm2 # invalid operand for instruction
17 pcmpgtw   %mm2, %mm2
18
19 pcmpgtb   %xmm2, %xmm2
20 pcmpgtd   %xmm2, %xmm2
21 pcmpgtq   %xmm2, %xmm2
22 pcmpgtw   %xmm2, %xmm2
23
24 vpcmpgtb  %xmm3, %xmm3, %xmm3
25 vpcmpgtd  %xmm3, %xmm3, %xmm3
26 vpcmpgtq  %xmm3, %xmm3, %xmm3
27 vpcmpgtw  %xmm3, %xmm3, %xmm3
28
29 vpcmpgtb  %xmm3, %xmm3, %xmm5
30 vpcmpgtd  %xmm3, %xmm3, %xmm5
31 vpcmpgtq  %xmm3, %xmm3, %xmm5
32 vpcmpgtw  %xmm3, %xmm3, %xmm5
33
34 psubb   %mm2, %mm2
35 psubd   %mm2, %mm2
36 psubq   %mm2, %mm2
37 psubw   %mm2, %mm2
38 psubb   %xmm2, %xmm2
39 psubd   %xmm2, %xmm2
40 psubq   %xmm2, %xmm2
41 psubw   %xmm2, %xmm2
42 vpsubb  %xmm3, %xmm3, %xmm3
43 vpsubd  %xmm3, %xmm3, %xmm3
44 vpsubq  %xmm3, %xmm3, %xmm3
45 vpsubw  %xmm3, %xmm3, %xmm3
46
47 vpsubb  %xmm3, %xmm3, %xmm5
48 vpsubd  %xmm3, %xmm3, %xmm5
49 vpsubq  %xmm3, %xmm3, %xmm5
50 vpsubw  %xmm3, %xmm3, %xmm5
51
52 andnps  %xmm0, %xmm0
53 andnpd  %xmm1, %xmm1
54 vandnps %xmm2, %xmm2, %xmm2
55 vandnpd %xmm1, %xmm1, %xmm1
56 pandn   %mm2, %mm2
57 pandn   %xmm2, %xmm2
58 vpandn  %xmm3, %xmm3, %xmm3
59
60 vandnps %xmm2, %xmm2, %xmm5
61 vandnpd %xmm1, %xmm1, %xmm5
62 vpandn  %xmm3, %xmm3, %xmm5
63
64 xorps  %xmm0, %xmm0
65 xorpd  %xmm1, %xmm1
66 vxorps %xmm2, %xmm2, %xmm2
67 vxorpd %xmm1, %xmm1, %xmm1
68 pxor   %mm2, %mm2
69 pxor   %xmm2, %xmm2
70 vpxor  %xmm3, %xmm3, %xmm3
71
72 vxorps %xmm4, %xmm4, %xmm5
73 vxorpd %xmm1, %xmm1, %xmm3
74 vpxor  %xmm3, %xmm3, %xmm5
75
76 # CHECK:      Iterations:        1
77 # CHECK-NEXT: Instructions:      55
78 # CHECK-NEXT: Total Cycles:      27
79 # CHECK-NEXT: Total uOps:        55
80
81 # CHECK:      Dispatch Width:    4
82 # CHECK-NEXT: uOps Per Cycle:    2.04
83 # CHECK-NEXT: IPC:               2.04
84 # CHECK-NEXT: Block RThroughput: 13.8
85
86 # CHECK:      Instruction Info:
87 # CHECK-NEXT: [1]: #uOps
88 # CHECK-NEXT: [2]: Latency
89 # CHECK-NEXT: [3]: RThroughput
90 # CHECK-NEXT: [4]: MayLoad
91 # CHECK-NEXT: [5]: MayStore
92 # CHECK-NEXT: [6]: HasSideEffects (U)
93
94 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
95 # CHECK-NEXT:  1      0     0.25                        subl    %eax, %eax
96 # CHECK-NEXT:  1      0     0.25                        subq    %rax, %rax
97 # CHECK-NEXT:  1      0     0.25                        xorl    %eax, %eax
98 # CHECK-NEXT:  1      0     0.25                        xorq    %rax, %rax
99 # CHECK-NEXT:  1      3     1.00                        pcmpgtb %mm2, %mm2
100 # CHECK-NEXT:  1      3     1.00                        pcmpgtd %mm2, %mm2
101 # CHECK-NEXT:  1      3     1.00                        pcmpgtw %mm2, %mm2
102 # CHECK-NEXT:  1      0     0.25                        pcmpgtb %xmm2, %xmm2
103 # CHECK-NEXT:  1      0     0.25                        pcmpgtd %xmm2, %xmm2
104 # CHECK-NEXT:  1      0     0.25                        pcmpgtq %xmm2, %xmm2
105 # CHECK-NEXT:  1      0     0.25                        pcmpgtw %xmm2, %xmm2
106 # CHECK-NEXT:  1      0     0.25                        vpcmpgtb        %xmm3, %xmm3, %xmm3
107 # CHECK-NEXT:  1      0     0.25                        vpcmpgtd        %xmm3, %xmm3, %xmm3
108 # CHECK-NEXT:  1      0     0.25                        vpcmpgtq        %xmm3, %xmm3, %xmm3
109 # CHECK-NEXT:  1      0     0.25                        vpcmpgtw        %xmm3, %xmm3, %xmm3
110 # CHECK-NEXT:  1      0     0.25                        vpcmpgtb        %xmm3, %xmm3, %xmm5
111 # CHECK-NEXT:  1      0     0.25                        vpcmpgtd        %xmm3, %xmm3, %xmm5
112 # CHECK-NEXT:  1      0     0.25                        vpcmpgtq        %xmm3, %xmm3, %xmm5
113 # CHECK-NEXT:  1      0     0.25                        vpcmpgtw        %xmm3, %xmm3, %xmm5
114 # CHECK-NEXT:  1      3     1.00                        psubb   %mm2, %mm2
115 # CHECK-NEXT:  1      3     1.00                        psubd   %mm2, %mm2
116 # CHECK-NEXT:  1      3     1.00                        psubq   %mm2, %mm2
117 # CHECK-NEXT:  1      3     1.00                        psubw   %mm2, %mm2
118 # CHECK-NEXT:  1      0     0.25                        psubb   %xmm2, %xmm2
119 # CHECK-NEXT:  1      0     0.25                        psubd   %xmm2, %xmm2
120 # CHECK-NEXT:  1      0     0.25                        psubq   %xmm2, %xmm2
121 # CHECK-NEXT:  1      0     0.25                        psubw   %xmm2, %xmm2
122 # CHECK-NEXT:  1      0     0.25                        vpsubb  %xmm3, %xmm3, %xmm3
123 # CHECK-NEXT:  1      0     0.25                        vpsubd  %xmm3, %xmm3, %xmm3
124 # CHECK-NEXT:  1      0     0.25                        vpsubq  %xmm3, %xmm3, %xmm3
125 # CHECK-NEXT:  1      0     0.25                        vpsubw  %xmm3, %xmm3, %xmm3
126 # CHECK-NEXT:  1      0     0.25                        vpsubb  %xmm3, %xmm3, %xmm5
127 # CHECK-NEXT:  1      0     0.25                        vpsubd  %xmm3, %xmm3, %xmm5
128 # CHECK-NEXT:  1      0     0.25                        vpsubq  %xmm3, %xmm3, %xmm5
129 # CHECK-NEXT:  1      0     0.25                        vpsubw  %xmm3, %xmm3, %xmm5
130 # CHECK-NEXT:  1      1     1.00                        andnps  %xmm0, %xmm0
131 # CHECK-NEXT:  1      1     1.00                        andnpd  %xmm1, %xmm1
132 # CHECK-NEXT:  1      1     1.00                        vandnps %xmm2, %xmm2, %xmm2
133 # CHECK-NEXT:  1      1     1.00                        vandnpd %xmm1, %xmm1, %xmm1
134 # CHECK-NEXT:  1      1     0.33                        pandn   %mm2, %mm2
135 # CHECK-NEXT:  1      1     0.33                        pandn   %xmm2, %xmm2
136 # CHECK-NEXT:  1      1     0.33                        vpandn  %xmm3, %xmm3, %xmm3
137 # CHECK-NEXT:  1      1     1.00                        vandnps %xmm2, %xmm2, %xmm5
138 # CHECK-NEXT:  1      1     1.00                        vandnpd %xmm1, %xmm1, %xmm5
139 # CHECK-NEXT:  1      1     0.33                        vpandn  %xmm3, %xmm3, %xmm5
140 # CHECK-NEXT:  1      0     0.25                        xorps   %xmm0, %xmm0
141 # CHECK-NEXT:  1      0     0.25                        xorpd   %xmm1, %xmm1
142 # CHECK-NEXT:  1      0     0.25                        vxorps  %xmm2, %xmm2, %xmm2
143 # CHECK-NEXT:  1      0     0.25                        vxorpd  %xmm1, %xmm1, %xmm1
144 # CHECK-NEXT:  1      1     0.33                        pxor    %mm2, %mm2
145 # CHECK-NEXT:  1      0     0.25                        pxor    %xmm2, %xmm2
146 # CHECK-NEXT:  1      0     0.25                        vpxor   %xmm3, %xmm3, %xmm3
147 # CHECK-NEXT:  1      0     0.25                        vxorps  %xmm4, %xmm4, %xmm5
148 # CHECK-NEXT:  1      0     0.25                        vxorpd  %xmm1, %xmm1, %xmm3
149 # CHECK-NEXT:  1      0     0.25                        vpxor   %xmm3, %xmm3, %xmm5
150
151 # CHECK:      Register File statistics:
152 # CHECK-NEXT: Total number of mappings created:    59
153 # CHECK-NEXT: Max number of mappings used:         42
154
155 # CHECK:      Resources:
156 # CHECK-NEXT: [0]   - SBDivider
157 # CHECK-NEXT: [1]   - SBFPDivider
158 # CHECK-NEXT: [2]   - SBPort0
159 # CHECK-NEXT: [3]   - SBPort1
160 # CHECK-NEXT: [4]   - SBPort4
161 # CHECK-NEXT: [5]   - SBPort5
162 # CHECK-NEXT: [6.0] - SBPort23
163 # CHECK-NEXT: [6.1] - SBPort23
164
165 # CHECK:      Resource pressure per iteration:
166 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
167 # CHECK-NEXT:  -      -     4.00   8.00    -     6.00    -      -
168
169 # CHECK:      Resource pressure by instruction:
170 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
171 # CHECK-NEXT:  -      -      -      -      -      -      -      -     subl      %eax, %eax
172 # CHECK-NEXT:  -      -      -      -      -      -      -      -     subq      %rax, %rax
173 # CHECK-NEXT:  -      -      -      -      -      -      -      -     xorl      %eax, %eax
174 # CHECK-NEXT:  -      -      -      -      -      -      -      -     xorq      %rax, %rax
175 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpgtb   %mm2, %mm2
176 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpgtd   %mm2, %mm2
177 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     pcmpgtw   %mm2, %mm2
178 # CHECK-NEXT:  -      -      -      -      -      -      -      -     pcmpgtb   %xmm2, %xmm2
179 # CHECK-NEXT:  -      -      -      -      -      -      -      -     pcmpgtd   %xmm2, %xmm2
180 # CHECK-NEXT:  -      -      -      -      -      -      -      -     pcmpgtq   %xmm2, %xmm2
181 # CHECK-NEXT:  -      -      -      -      -      -      -      -     pcmpgtw   %xmm2, %xmm2
182 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtb  %xmm3, %xmm3, %xmm3
183 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtd  %xmm3, %xmm3, %xmm3
184 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtq  %xmm3, %xmm3, %xmm3
185 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtw  %xmm3, %xmm3, %xmm3
186 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtb  %xmm3, %xmm3, %xmm5
187 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtd  %xmm3, %xmm3, %xmm5
188 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtq  %xmm3, %xmm3, %xmm5
189 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpcmpgtw  %xmm3, %xmm3, %xmm5
190 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubb     %mm2, %mm2
191 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubd     %mm2, %mm2
192 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubq     %mm2, %mm2
193 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     psubw     %mm2, %mm2
194 # CHECK-NEXT:  -      -      -      -      -      -      -      -     psubb     %xmm2, %xmm2
195 # CHECK-NEXT:  -      -      -      -      -      -      -      -     psubd     %xmm2, %xmm2
196 # CHECK-NEXT:  -      -      -      -      -      -      -      -     psubq     %xmm2, %xmm2
197 # CHECK-NEXT:  -      -      -      -      -      -      -      -     psubw     %xmm2, %xmm2
198 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubb    %xmm3, %xmm3, %xmm3
199 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubd    %xmm3, %xmm3, %xmm3
200 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubq    %xmm3, %xmm3, %xmm3
201 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubw    %xmm3, %xmm3, %xmm3
202 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubb    %xmm3, %xmm3, %xmm5
203 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubd    %xmm3, %xmm3, %xmm5
204 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubq    %xmm3, %xmm3, %xmm5
205 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpsubw    %xmm3, %xmm3, %xmm5
206 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     andnps    %xmm0, %xmm0
207 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     andnpd    %xmm1, %xmm1
208 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnps   %xmm2, %xmm2, %xmm2
209 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnpd   %xmm1, %xmm1, %xmm1
210 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pandn     %mm2, %mm2
211 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pandn     %xmm2, %xmm2
212 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpandn    %xmm3, %xmm3, %xmm3
213 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnps   %xmm2, %xmm2, %xmm5
214 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vandnpd   %xmm1, %xmm1, %xmm5
215 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     vpandn    %xmm3, %xmm3, %xmm5
216 # CHECK-NEXT:  -      -      -      -      -      -      -      -     xorps     %xmm0, %xmm0
217 # CHECK-NEXT:  -      -      -      -      -      -      -      -     xorpd     %xmm1, %xmm1
218 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vxorps    %xmm2, %xmm2, %xmm2
219 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vxorpd    %xmm1, %xmm1, %xmm1
220 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     pxor      %mm2, %mm2
221 # CHECK-NEXT:  -      -      -      -      -      -      -      -     pxor      %xmm2, %xmm2
222 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpxor     %xmm3, %xmm3, %xmm3
223 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vxorps    %xmm4, %xmm4, %xmm5
224 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vxorpd    %xmm1, %xmm1, %xmm3
225 # CHECK-NEXT:  -      -      -      -      -      -      -      -     vpxor     %xmm3, %xmm3, %xmm5
226
227 # CHECK:      Timeline view:
228 # CHECK-NEXT:                     0123456789
229 # CHECK-NEXT: Index     0123456789          0123456
230
231 # CHECK:      [0,0]     DR   .    .    .    .    ..   subl      %eax, %eax
232 # CHECK-NEXT: [0,1]     DR   .    .    .    .    ..   subq      %rax, %rax
233 # CHECK-NEXT: [0,2]     DR   .    .    .    .    ..   xorl      %eax, %eax
234 # CHECK-NEXT: [0,3]     DR   .    .    .    .    ..   xorq      %rax, %rax
235 # CHECK-NEXT: [0,4]     .DeeeER   .    .    .    ..   pcmpgtb   %mm2, %mm2
236 # CHECK-NEXT: [0,5]     .D===eeeER.    .    .    ..   pcmpgtd   %mm2, %mm2
237 # CHECK-NEXT: [0,6]     .D======eeeER  .    .    ..   pcmpgtw   %mm2, %mm2
238 # CHECK-NEXT: [0,7]     .D----------R  .    .    ..   pcmpgtb   %xmm2, %xmm2
239 # CHECK-NEXT: [0,8]     . D---------R  .    .    ..   pcmpgtd   %xmm2, %xmm2
240 # CHECK-NEXT: [0,9]     . D---------R  .    .    ..   pcmpgtq   %xmm2, %xmm2
241 # CHECK-NEXT: [0,10]    . D---------R  .    .    ..   pcmpgtw   %xmm2, %xmm2
242 # CHECK-NEXT: [0,11]    . D---------R  .    .    ..   vpcmpgtb  %xmm3, %xmm3, %xmm3
243 # CHECK-NEXT: [0,12]    .  D--------R  .    .    ..   vpcmpgtd  %xmm3, %xmm3, %xmm3
244 # CHECK-NEXT: [0,13]    .  D--------R  .    .    ..   vpcmpgtq  %xmm3, %xmm3, %xmm3
245 # CHECK-NEXT: [0,14]    .  D--------R  .    .    ..   vpcmpgtw  %xmm3, %xmm3, %xmm3
246 # CHECK-NEXT: [0,15]    .  D--------R  .    .    ..   vpcmpgtb  %xmm3, %xmm3, %xmm5
247 # CHECK-NEXT: [0,16]    .   D-------R  .    .    ..   vpcmpgtd  %xmm3, %xmm3, %xmm5
248 # CHECK-NEXT: [0,17]    .   D-------R  .    .    ..   vpcmpgtq  %xmm3, %xmm3, %xmm5
249 # CHECK-NEXT: [0,18]    .   D-------R  .    .    ..   vpcmpgtw  %xmm3, %xmm3, %xmm5
250 # CHECK-NEXT: [0,19]    .   D======eeeER    .    ..   psubb     %mm2, %mm2
251 # CHECK-NEXT: [0,20]    .    D========eeeER .    ..   psubd     %mm2, %mm2
252 # CHECK-NEXT: [0,21]    .    D===========eeeER   ..   psubq     %mm2, %mm2
253 # CHECK-NEXT: [0,22]    .    D==============eeeER..   psubw     %mm2, %mm2
254 # CHECK-NEXT: [0,23]    .    D------------------R..   psubb     %xmm2, %xmm2
255 # CHECK-NEXT: [0,24]    .    .D-----------------R..   psubd     %xmm2, %xmm2
256 # CHECK-NEXT: [0,25]    .    .D-----------------R..   psubq     %xmm2, %xmm2
257 # CHECK-NEXT: [0,26]    .    .D-----------------R..   psubw     %xmm2, %xmm2
258 # CHECK-NEXT: [0,27]    .    .D-----------------R..   vpsubb    %xmm3, %xmm3, %xmm3
259 # CHECK-NEXT: [0,28]    .    . D----------------R..   vpsubd    %xmm3, %xmm3, %xmm3
260 # CHECK-NEXT: [0,29]    .    . D----------------R..   vpsubq    %xmm3, %xmm3, %xmm3
261 # CHECK-NEXT: [0,30]    .    . D----------------R..   vpsubw    %xmm3, %xmm3, %xmm3
262 # CHECK-NEXT: [0,31]    .    . D----------------R..   vpsubb    %xmm3, %xmm3, %xmm5
263 # CHECK-NEXT: [0,32]    .    .  D---------------R..   vpsubd    %xmm3, %xmm3, %xmm5
264 # CHECK-NEXT: [0,33]    .    .  D---------------R..   vpsubq    %xmm3, %xmm3, %xmm5
265 # CHECK-NEXT: [0,34]    .    .  D---------------R..   vpsubw    %xmm3, %xmm3, %xmm5
266 # CHECK-NEXT: [0,35]    .    .  DeE-------------R..   andnps    %xmm0, %xmm0
267 # CHECK-NEXT: [0,36]    .    .   DeE------------R..   andnpd    %xmm1, %xmm1
268 # CHECK-NEXT: [0,37]    .    .   D=eE-----------R..   vandnps   %xmm2, %xmm2, %xmm2
269 # CHECK-NEXT: [0,38]    .    .   D==eE----------R..   vandnpd   %xmm1, %xmm1, %xmm1
270 # CHECK-NEXT: [0,39]    .    .   D=============eER.   pandn     %mm2, %mm2
271 # CHECK-NEXT: [0,40]    .    .    D=eE-----------R.   pandn     %xmm2, %xmm2
272 # CHECK-NEXT: [0,41]    .    .    DeE------------R.   vpandn    %xmm3, %xmm3, %xmm3
273 # CHECK-NEXT: [0,42]    .    .    D==eE----------R.   vandnps   %xmm2, %xmm2, %xmm5
274 # CHECK-NEXT: [0,43]    .    .    D===eE---------R.   vandnpd   %xmm1, %xmm1, %xmm5
275 # CHECK-NEXT: [0,44]    .    .    .DeE-----------R.   vpandn    %xmm3, %xmm3, %xmm5
276 # CHECK-NEXT: [0,45]    .    .    .D-------------R.   xorps     %xmm0, %xmm0
277 # CHECK-NEXT: [0,46]    .    .    .D=E-----------R.   xorpd     %xmm1, %xmm1
278 # CHECK-NEXT: [0,47]    .    .    .D=E-----------R.   vxorps    %xmm2, %xmm2, %xmm2
279 # CHECK-NEXT: [0,48]    .    .    . DE-----------R.   vxorpd    %xmm1, %xmm1, %xmm1
280 # CHECK-NEXT: [0,49]    .    .    . D===========eER   pxor      %mm2, %mm2
281 # CHECK-NEXT: [0,50]    .    .    . DE------------R   pxor      %xmm2, %xmm2
282 # CHECK-NEXT: [0,51]    .    .    . D-------------R   vpxor     %xmm3, %xmm3, %xmm3
283 # CHECK-NEXT: [0,52]    .    .    .  D------------R   vxorps    %xmm4, %xmm4, %xmm5
284 # CHECK-NEXT: [0,53]    .    .    .  D------------R   vxorpd    %xmm1, %xmm1, %xmm3
285 # CHECK-NEXT: [0,54]    .    .    .  D------------R   vpxor     %xmm3, %xmm3, %xmm5
286
287 # CHECK:      Average Wait times (based on the timeline view):
288 # CHECK-NEXT: [0]: Executions
289 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
290 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
291 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
292
293 # CHECK:            [0]    [1]    [2]    [3]
294 # CHECK-NEXT: 0.     1     0.0    0.0    0.0       subl %eax, %eax
295 # CHECK-NEXT: 1.     1     0.0    0.0    0.0       subq %rax, %rax
296 # CHECK-NEXT: 2.     1     0.0    0.0    0.0       xorl %eax, %eax
297 # CHECK-NEXT: 3.     1     0.0    0.0    0.0       xorq %rax, %rax
298 # CHECK-NEXT: 4.     1     1.0    1.0    0.0       pcmpgtb      %mm2, %mm2
299 # CHECK-NEXT: 5.     1     4.0    0.0    0.0       pcmpgtd      %mm2, %mm2
300 # CHECK-NEXT: 6.     1     7.0    0.0    0.0       pcmpgtw      %mm2, %mm2
301 # CHECK-NEXT: 7.     1     0.0    0.0    10.0      pcmpgtb      %xmm2, %xmm2
302 # CHECK-NEXT: 8.     1     0.0    0.0    9.0       pcmpgtd      %xmm2, %xmm2
303 # CHECK-NEXT: 9.     1     0.0    0.0    9.0       pcmpgtq      %xmm2, %xmm2
304 # CHECK-NEXT: 10.    1     0.0    0.0    9.0       pcmpgtw      %xmm2, %xmm2
305 # CHECK-NEXT: 11.    1     0.0    0.0    9.0       vpcmpgtb     %xmm3, %xmm3, %xmm3
306 # CHECK-NEXT: 12.    1     0.0    0.0    8.0       vpcmpgtd     %xmm3, %xmm3, %xmm3
307 # CHECK-NEXT: 13.    1     0.0    0.0    8.0       vpcmpgtq     %xmm3, %xmm3, %xmm3
308 # CHECK-NEXT: 14.    1     0.0    0.0    8.0       vpcmpgtw     %xmm3, %xmm3, %xmm3
309 # CHECK-NEXT: 15.    1     0.0    0.0    8.0       vpcmpgtb     %xmm3, %xmm3, %xmm5
310 # CHECK-NEXT: 16.    1     0.0    0.0    7.0       vpcmpgtd     %xmm3, %xmm3, %xmm5
311 # CHECK-NEXT: 17.    1     0.0    0.0    7.0       vpcmpgtq     %xmm3, %xmm3, %xmm5
312 # CHECK-NEXT: 18.    1     0.0    0.0    7.0       vpcmpgtw     %xmm3, %xmm3, %xmm5
313 # CHECK-NEXT: 19.    1     7.0    0.0    0.0       psubb        %mm2, %mm2
314 # CHECK-NEXT: 20.    1     9.0    0.0    0.0       psubd        %mm2, %mm2
315 # CHECK-NEXT: 21.    1     12.0   0.0    0.0       psubq        %mm2, %mm2
316 # CHECK-NEXT: 22.    1     15.0   0.0    0.0       psubw        %mm2, %mm2
317 # CHECK-NEXT: 23.    1     0.0    0.0    18.0      psubb        %xmm2, %xmm2
318 # CHECK-NEXT: 24.    1     0.0    0.0    17.0      psubd        %xmm2, %xmm2
319 # CHECK-NEXT: 25.    1     0.0    0.0    17.0      psubq        %xmm2, %xmm2
320 # CHECK-NEXT: 26.    1     0.0    0.0    17.0      psubw        %xmm2, %xmm2
321 # CHECK-NEXT: 27.    1     0.0    0.0    17.0      vpsubb       %xmm3, %xmm3, %xmm3
322 # CHECK-NEXT: 28.    1     0.0    0.0    16.0      vpsubd       %xmm3, %xmm3, %xmm3
323 # CHECK-NEXT: 29.    1     0.0    0.0    16.0      vpsubq       %xmm3, %xmm3, %xmm3
324 # CHECK-NEXT: 30.    1     0.0    0.0    16.0      vpsubw       %xmm3, %xmm3, %xmm3
325 # CHECK-NEXT: 31.    1     0.0    0.0    16.0      vpsubb       %xmm3, %xmm3, %xmm5
326 # CHECK-NEXT: 32.    1     0.0    0.0    15.0      vpsubd       %xmm3, %xmm3, %xmm5
327 # CHECK-NEXT: 33.    1     0.0    0.0    15.0      vpsubq       %xmm3, %xmm3, %xmm5
328 # CHECK-NEXT: 34.    1     0.0    0.0    15.0      vpsubw       %xmm3, %xmm3, %xmm5
329 # CHECK-NEXT: 35.    1     1.0    1.0    13.0      andnps       %xmm0, %xmm0
330 # CHECK-NEXT: 36.    1     1.0    1.0    12.0      andnpd       %xmm1, %xmm1
331 # CHECK-NEXT: 37.    1     2.0    2.0    11.0      vandnps      %xmm2, %xmm2, %xmm2
332 # CHECK-NEXT: 38.    1     3.0    1.0    10.0      vandnpd      %xmm1, %xmm1, %xmm1
333 # CHECK-NEXT: 39.    1     14.0   0.0    0.0       pandn        %mm2, %mm2
334 # CHECK-NEXT: 40.    1     2.0    0.0    11.0      pandn        %xmm2, %xmm2
335 # CHECK-NEXT: 41.    1     1.0    1.0    12.0      vpandn       %xmm3, %xmm3, %xmm3
336 # CHECK-NEXT: 42.    1     3.0    0.0    10.0      vandnps      %xmm2, %xmm2, %xmm5
337 # CHECK-NEXT: 43.    1     4.0    1.0    9.0       vandnpd      %xmm1, %xmm1, %xmm5
338 # CHECK-NEXT: 44.    1     1.0    0.0    11.0      vpandn       %xmm3, %xmm3, %xmm5
339 # CHECK-NEXT: 45.    1     0.0    0.0    13.0      xorps        %xmm0, %xmm0
340 # CHECK-NEXT: 46.    1     2.0    0.0    11.0      xorpd        %xmm1, %xmm1
341 # CHECK-NEXT: 47.    1     2.0    0.0    11.0      vxorps       %xmm2, %xmm2, %xmm2
342 # CHECK-NEXT: 48.    1     1.0    0.0    11.0      vxorpd       %xmm1, %xmm1, %xmm1
343 # CHECK-NEXT: 49.    1     12.0   0.0    0.0       pxor %mm2, %mm2
344 # CHECK-NEXT: 50.    1     1.0    0.0    12.0      pxor %xmm2, %xmm2
345 # CHECK-NEXT: 51.    1     0.0    0.0    13.0      vpxor        %xmm3, %xmm3, %xmm3
346 # CHECK-NEXT: 52.    1     0.0    0.0    12.0      vxorps       %xmm4, %xmm4, %xmm5
347 # CHECK-NEXT: 53.    1     0.0    0.0    12.0      vxorpd       %xmm1, %xmm1, %xmm3
348 # CHECK-NEXT: 54.    1     0.0    0.0    12.0      vpxor        %xmm3, %xmm3, %xmm5