[llvm-readelf] - Report a warning when .hash section contains a chain with a cycle.
[llvm-complete.git] / test / tools / llvm-mca / X86 / Barcelona / store-throughput.s
blobd9db803083234a9c40efd9ba6d82153def863e7d
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -scheduler-stats -dispatch-stats -iterations=100 -timeline -timeline-max-iterations=1 -noalias=true < %s | FileCheck %s
4 # LLVM-MCA-BEGIN
5 movb %spl, (%rax)
6 movb %bpl, (%rcx)
7 movb %sil, (%rdx)
8 movb %dil, (%rbx)
9 # LLVM-MCA-END
11 # LLVM-MCA-BEGIN
12 movw %sp, (%rax)
13 movw %bp, (%rcx)
14 movw %si, (%rdx)
15 movw %di, (%rbx)
16 # LLVM-MCA-END
18 # LLVM-MCA-BEGIN
19 movl %esp, (%rax)
20 movl %ebp, (%rcx)
21 movl %esi, (%rdx)
22 movl %edi, (%rbx)
23 # LLVM-MCA-END
25 # LLVM-MCA-BEGIN
26 movq %rsp, (%rax)
27 movq %rbp, (%rcx)
28 movq %rsi, (%rdx)
29 movq %rdi, (%rbx)
30 # LLVM-MCA-END
32 # LLVM-MCA-BEGIN
33 movd %mm0, (%rax)
34 movd %mm1, (%rcx)
35 movd %mm2, (%rdx)
36 movd %mm3, (%rbx)
37 # LLVM-MCA-END
39 # LLVM-MCA-BEGIN
40 movaps %xmm0, (%rax)
41 movaps %xmm1, (%rcx)
42 movaps %xmm2, (%rdx)
43 movaps %xmm3, (%rbx)
44 # LLVM-MCA-END
46 # CHECK: [0] Code Region
48 # CHECK: Iterations: 100
49 # CHECK-NEXT: Instructions: 400
50 # CHECK-NEXT: Total Cycles: 403
51 # CHECK-NEXT: Total uOps: 400
53 # CHECK: Dispatch Width: 4
54 # CHECK-NEXT: uOps Per Cycle: 0.99
55 # CHECK-NEXT: IPC: 0.99
56 # CHECK-NEXT: Block RThroughput: 4.0
58 # CHECK: Instruction Info:
59 # CHECK-NEXT: [1]: #uOps
60 # CHECK-NEXT: [2]: Latency
61 # CHECK-NEXT: [3]: RThroughput
62 # CHECK-NEXT: [4]: MayLoad
63 # CHECK-NEXT: [5]: MayStore
64 # CHECK-NEXT: [6]: HasSideEffects (U)
66 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
67 # CHECK-NEXT: 1 1 1.00 * movb %spl, (%rax)
68 # CHECK-NEXT: 1 1 1.00 * movb %bpl, (%rcx)
69 # CHECK-NEXT: 1 1 1.00 * movb %sil, (%rdx)
70 # CHECK-NEXT: 1 1 1.00 * movb %dil, (%rbx)
72 # CHECK: Dynamic Dispatch Stall Cycles:
73 # CHECK-NEXT: RAT - Register unavailable: 0
74 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
75 # CHECK-NEXT: SCHEDQ - Scheduler full: 329 (81.6%)
76 # CHECK-NEXT: LQ - Load queue full: 0
77 # CHECK-NEXT: SQ - Store queue full: 0
78 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
80 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
81 # CHECK-NEXT: [# dispatched], [# cycles]
82 # CHECK-NEXT: 0, 56 (13.9%)
83 # CHECK-NEXT: 1, 329 (81.6%)
84 # CHECK-NEXT: 3, 1 (0.2%)
85 # CHECK-NEXT: 4, 17 (4.2%)
87 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
88 # CHECK-NEXT: [# issued], [# cycles]
89 # CHECK-NEXT: 0, 3 (0.7%)
90 # CHECK-NEXT: 1, 400 (99.3%)
92 # CHECK: Scheduler's queue usage:
93 # CHECK-NEXT: [1] Resource name.
94 # CHECK-NEXT: [2] Average number of used buffer entries.
95 # CHECK-NEXT: [3] Maximum number of used buffer entries.
96 # CHECK-NEXT: [4] Total number of buffer entries.
98 # CHECK: [1] [2] [3] [4]
99 # CHECK-NEXT: SBPortAny 49 54 54
101 # CHECK: Resources:
102 # CHECK-NEXT: [0] - SBDivider
103 # CHECK-NEXT: [1] - SBFPDivider
104 # CHECK-NEXT: [2] - SBPort0
105 # CHECK-NEXT: [3] - SBPort1
106 # CHECK-NEXT: [4] - SBPort4
107 # CHECK-NEXT: [5] - SBPort5
108 # CHECK-NEXT: [6.0] - SBPort23
109 # CHECK-NEXT: [6.1] - SBPort23
111 # CHECK: Resource pressure per iteration:
112 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
113 # CHECK-NEXT: - - - - 4.00 - 2.00 2.00
115 # CHECK: Resource pressure by instruction:
116 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
117 # CHECK-NEXT: - - - - 1.00 - - 1.00 movb %spl, (%rax)
118 # CHECK-NEXT: - - - - 1.00 - 1.00 - movb %bpl, (%rcx)
119 # CHECK-NEXT: - - - - 1.00 - - 1.00 movb %sil, (%rdx)
120 # CHECK-NEXT: - - - - 1.00 - 1.00 - movb %dil, (%rbx)
122 # CHECK: Timeline view:
123 # CHECK-NEXT: Index 0123456
125 # CHECK: [0,0] DeER .. movb %spl, (%rax)
126 # CHECK-NEXT: [0,1] D=eER.. movb %bpl, (%rcx)
127 # CHECK-NEXT: [0,2] D==eER. movb %sil, (%rdx)
128 # CHECK-NEXT: [0,3] D===eER movb %dil, (%rbx)
130 # CHECK: Average Wait times (based on the timeline view):
131 # CHECK-NEXT: [0]: Executions
132 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
133 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
134 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
136 # CHECK: [0] [1] [2] [3]
137 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movb %spl, (%rax)
138 # CHECK-NEXT: 1. 1 2.0 0.0 0.0 movb %bpl, (%rcx)
139 # CHECK-NEXT: 2. 1 3.0 0.0 0.0 movb %sil, (%rdx)
140 # CHECK-NEXT: 3. 1 4.0 0.0 0.0 movb %dil, (%rbx)
142 # CHECK: [1] Code Region
144 # CHECK: Iterations: 100
145 # CHECK-NEXT: Instructions: 400
146 # CHECK-NEXT: Total Cycles: 403
147 # CHECK-NEXT: Total uOps: 400
149 # CHECK: Dispatch Width: 4
150 # CHECK-NEXT: uOps Per Cycle: 0.99
151 # CHECK-NEXT: IPC: 0.99
152 # CHECK-NEXT: Block RThroughput: 4.0
154 # CHECK: Instruction Info:
155 # CHECK-NEXT: [1]: #uOps
156 # CHECK-NEXT: [2]: Latency
157 # CHECK-NEXT: [3]: RThroughput
158 # CHECK-NEXT: [4]: MayLoad
159 # CHECK-NEXT: [5]: MayStore
160 # CHECK-NEXT: [6]: HasSideEffects (U)
162 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
163 # CHECK-NEXT: 1 1 1.00 * movw %sp, (%rax)
164 # CHECK-NEXT: 1 1 1.00 * movw %bp, (%rcx)
165 # CHECK-NEXT: 1 1 1.00 * movw %si, (%rdx)
166 # CHECK-NEXT: 1 1 1.00 * movw %di, (%rbx)
168 # CHECK: Dynamic Dispatch Stall Cycles:
169 # CHECK-NEXT: RAT - Register unavailable: 0
170 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
171 # CHECK-NEXT: SCHEDQ - Scheduler full: 329 (81.6%)
172 # CHECK-NEXT: LQ - Load queue full: 0
173 # CHECK-NEXT: SQ - Store queue full: 0
174 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
176 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
177 # CHECK-NEXT: [# dispatched], [# cycles]
178 # CHECK-NEXT: 0, 56 (13.9%)
179 # CHECK-NEXT: 1, 329 (81.6%)
180 # CHECK-NEXT: 3, 1 (0.2%)
181 # CHECK-NEXT: 4, 17 (4.2%)
183 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
184 # CHECK-NEXT: [# issued], [# cycles]
185 # CHECK-NEXT: 0, 3 (0.7%)
186 # CHECK-NEXT: 1, 400 (99.3%)
188 # CHECK: Scheduler's queue usage:
189 # CHECK-NEXT: [1] Resource name.
190 # CHECK-NEXT: [2] Average number of used buffer entries.
191 # CHECK-NEXT: [3] Maximum number of used buffer entries.
192 # CHECK-NEXT: [4] Total number of buffer entries.
194 # CHECK: [1] [2] [3] [4]
195 # CHECK-NEXT: SBPortAny 49 54 54
197 # CHECK: Resources:
198 # CHECK-NEXT: [0] - SBDivider
199 # CHECK-NEXT: [1] - SBFPDivider
200 # CHECK-NEXT: [2] - SBPort0
201 # CHECK-NEXT: [3] - SBPort1
202 # CHECK-NEXT: [4] - SBPort4
203 # CHECK-NEXT: [5] - SBPort5
204 # CHECK-NEXT: [6.0] - SBPort23
205 # CHECK-NEXT: [6.1] - SBPort23
207 # CHECK: Resource pressure per iteration:
208 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
209 # CHECK-NEXT: - - - - 4.00 - 2.00 2.00
211 # CHECK: Resource pressure by instruction:
212 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
213 # CHECK-NEXT: - - - - 1.00 - - 1.00 movw %sp, (%rax)
214 # CHECK-NEXT: - - - - 1.00 - 1.00 - movw %bp, (%rcx)
215 # CHECK-NEXT: - - - - 1.00 - - 1.00 movw %si, (%rdx)
216 # CHECK-NEXT: - - - - 1.00 - 1.00 - movw %di, (%rbx)
218 # CHECK: Timeline view:
219 # CHECK-NEXT: Index 0123456
221 # CHECK: [0,0] DeER .. movw %sp, (%rax)
222 # CHECK-NEXT: [0,1] D=eER.. movw %bp, (%rcx)
223 # CHECK-NEXT: [0,2] D==eER. movw %si, (%rdx)
224 # CHECK-NEXT: [0,3] D===eER movw %di, (%rbx)
226 # CHECK: Average Wait times (based on the timeline view):
227 # CHECK-NEXT: [0]: Executions
228 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
229 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
230 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
232 # CHECK: [0] [1] [2] [3]
233 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movw %sp, (%rax)
234 # CHECK-NEXT: 1. 1 2.0 0.0 0.0 movw %bp, (%rcx)
235 # CHECK-NEXT: 2. 1 3.0 0.0 0.0 movw %si, (%rdx)
236 # CHECK-NEXT: 3. 1 4.0 0.0 0.0 movw %di, (%rbx)
238 # CHECK: [2] Code Region
240 # CHECK: Iterations: 100
241 # CHECK-NEXT: Instructions: 400
242 # CHECK-NEXT: Total Cycles: 403
243 # CHECK-NEXT: Total uOps: 400
245 # CHECK: Dispatch Width: 4
246 # CHECK-NEXT: uOps Per Cycle: 0.99
247 # CHECK-NEXT: IPC: 0.99
248 # CHECK-NEXT: Block RThroughput: 4.0
250 # CHECK: Instruction Info:
251 # CHECK-NEXT: [1]: #uOps
252 # CHECK-NEXT: [2]: Latency
253 # CHECK-NEXT: [3]: RThroughput
254 # CHECK-NEXT: [4]: MayLoad
255 # CHECK-NEXT: [5]: MayStore
256 # CHECK-NEXT: [6]: HasSideEffects (U)
258 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
259 # CHECK-NEXT: 1 1 1.00 * movl %esp, (%rax)
260 # CHECK-NEXT: 1 1 1.00 * movl %ebp, (%rcx)
261 # CHECK-NEXT: 1 1 1.00 * movl %esi, (%rdx)
262 # CHECK-NEXT: 1 1 1.00 * movl %edi, (%rbx)
264 # CHECK: Dynamic Dispatch Stall Cycles:
265 # CHECK-NEXT: RAT - Register unavailable: 0
266 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
267 # CHECK-NEXT: SCHEDQ - Scheduler full: 329 (81.6%)
268 # CHECK-NEXT: LQ - Load queue full: 0
269 # CHECK-NEXT: SQ - Store queue full: 0
270 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
272 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
273 # CHECK-NEXT: [# dispatched], [# cycles]
274 # CHECK-NEXT: 0, 56 (13.9%)
275 # CHECK-NEXT: 1, 329 (81.6%)
276 # CHECK-NEXT: 3, 1 (0.2%)
277 # CHECK-NEXT: 4, 17 (4.2%)
279 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
280 # CHECK-NEXT: [# issued], [# cycles]
281 # CHECK-NEXT: 0, 3 (0.7%)
282 # CHECK-NEXT: 1, 400 (99.3%)
284 # CHECK: Scheduler's queue usage:
285 # CHECK-NEXT: [1] Resource name.
286 # CHECK-NEXT: [2] Average number of used buffer entries.
287 # CHECK-NEXT: [3] Maximum number of used buffer entries.
288 # CHECK-NEXT: [4] Total number of buffer entries.
290 # CHECK: [1] [2] [3] [4]
291 # CHECK-NEXT: SBPortAny 49 54 54
293 # CHECK: Resources:
294 # CHECK-NEXT: [0] - SBDivider
295 # CHECK-NEXT: [1] - SBFPDivider
296 # CHECK-NEXT: [2] - SBPort0
297 # CHECK-NEXT: [3] - SBPort1
298 # CHECK-NEXT: [4] - SBPort4
299 # CHECK-NEXT: [5] - SBPort5
300 # CHECK-NEXT: [6.0] - SBPort23
301 # CHECK-NEXT: [6.1] - SBPort23
303 # CHECK: Resource pressure per iteration:
304 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
305 # CHECK-NEXT: - - - - 4.00 - 2.00 2.00
307 # CHECK: Resource pressure by instruction:
308 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
309 # CHECK-NEXT: - - - - 1.00 - - 1.00 movl %esp, (%rax)
310 # CHECK-NEXT: - - - - 1.00 - 1.00 - movl %ebp, (%rcx)
311 # CHECK-NEXT: - - - - 1.00 - - 1.00 movl %esi, (%rdx)
312 # CHECK-NEXT: - - - - 1.00 - 1.00 - movl %edi, (%rbx)
314 # CHECK: Timeline view:
315 # CHECK-NEXT: Index 0123456
317 # CHECK: [0,0] DeER .. movl %esp, (%rax)
318 # CHECK-NEXT: [0,1] D=eER.. movl %ebp, (%rcx)
319 # CHECK-NEXT: [0,2] D==eER. movl %esi, (%rdx)
320 # CHECK-NEXT: [0,3] D===eER movl %edi, (%rbx)
322 # CHECK: Average Wait times (based on the timeline view):
323 # CHECK-NEXT: [0]: Executions
324 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
325 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
326 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
328 # CHECK: [0] [1] [2] [3]
329 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movl %esp, (%rax)
330 # CHECK-NEXT: 1. 1 2.0 0.0 0.0 movl %ebp, (%rcx)
331 # CHECK-NEXT: 2. 1 3.0 0.0 0.0 movl %esi, (%rdx)
332 # CHECK-NEXT: 3. 1 4.0 0.0 0.0 movl %edi, (%rbx)
334 # CHECK: [3] Code Region
336 # CHECK: Iterations: 100
337 # CHECK-NEXT: Instructions: 400
338 # CHECK-NEXT: Total Cycles: 403
339 # CHECK-NEXT: Total uOps: 400
341 # CHECK: Dispatch Width: 4
342 # CHECK-NEXT: uOps Per Cycle: 0.99
343 # CHECK-NEXT: IPC: 0.99
344 # CHECK-NEXT: Block RThroughput: 4.0
346 # CHECK: Instruction Info:
347 # CHECK-NEXT: [1]: #uOps
348 # CHECK-NEXT: [2]: Latency
349 # CHECK-NEXT: [3]: RThroughput
350 # CHECK-NEXT: [4]: MayLoad
351 # CHECK-NEXT: [5]: MayStore
352 # CHECK-NEXT: [6]: HasSideEffects (U)
354 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
355 # CHECK-NEXT: 1 1 1.00 * movq %rsp, (%rax)
356 # CHECK-NEXT: 1 1 1.00 * movq %rbp, (%rcx)
357 # CHECK-NEXT: 1 1 1.00 * movq %rsi, (%rdx)
358 # CHECK-NEXT: 1 1 1.00 * movq %rdi, (%rbx)
360 # CHECK: Dynamic Dispatch Stall Cycles:
361 # CHECK-NEXT: RAT - Register unavailable: 0
362 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
363 # CHECK-NEXT: SCHEDQ - Scheduler full: 329 (81.6%)
364 # CHECK-NEXT: LQ - Load queue full: 0
365 # CHECK-NEXT: SQ - Store queue full: 0
366 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
368 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
369 # CHECK-NEXT: [# dispatched], [# cycles]
370 # CHECK-NEXT: 0, 56 (13.9%)
371 # CHECK-NEXT: 1, 329 (81.6%)
372 # CHECK-NEXT: 3, 1 (0.2%)
373 # CHECK-NEXT: 4, 17 (4.2%)
375 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
376 # CHECK-NEXT: [# issued], [# cycles]
377 # CHECK-NEXT: 0, 3 (0.7%)
378 # CHECK-NEXT: 1, 400 (99.3%)
380 # CHECK: Scheduler's queue usage:
381 # CHECK-NEXT: [1] Resource name.
382 # CHECK-NEXT: [2] Average number of used buffer entries.
383 # CHECK-NEXT: [3] Maximum number of used buffer entries.
384 # CHECK-NEXT: [4] Total number of buffer entries.
386 # CHECK: [1] [2] [3] [4]
387 # CHECK-NEXT: SBPortAny 49 54 54
389 # CHECK: Resources:
390 # CHECK-NEXT: [0] - SBDivider
391 # CHECK-NEXT: [1] - SBFPDivider
392 # CHECK-NEXT: [2] - SBPort0
393 # CHECK-NEXT: [3] - SBPort1
394 # CHECK-NEXT: [4] - SBPort4
395 # CHECK-NEXT: [5] - SBPort5
396 # CHECK-NEXT: [6.0] - SBPort23
397 # CHECK-NEXT: [6.1] - SBPort23
399 # CHECK: Resource pressure per iteration:
400 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
401 # CHECK-NEXT: - - - - 4.00 - 2.00 2.00
403 # CHECK: Resource pressure by instruction:
404 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
405 # CHECK-NEXT: - - - - 1.00 - - 1.00 movq %rsp, (%rax)
406 # CHECK-NEXT: - - - - 1.00 - 1.00 - movq %rbp, (%rcx)
407 # CHECK-NEXT: - - - - 1.00 - - 1.00 movq %rsi, (%rdx)
408 # CHECK-NEXT: - - - - 1.00 - 1.00 - movq %rdi, (%rbx)
410 # CHECK: Timeline view:
411 # CHECK-NEXT: Index 0123456
413 # CHECK: [0,0] DeER .. movq %rsp, (%rax)
414 # CHECK-NEXT: [0,1] D=eER.. movq %rbp, (%rcx)
415 # CHECK-NEXT: [0,2] D==eER. movq %rsi, (%rdx)
416 # CHECK-NEXT: [0,3] D===eER movq %rdi, (%rbx)
418 # CHECK: Average Wait times (based on the timeline view):
419 # CHECK-NEXT: [0]: Executions
420 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
421 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
422 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
424 # CHECK: [0] [1] [2] [3]
425 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movq %rsp, (%rax)
426 # CHECK-NEXT: 1. 1 2.0 0.0 0.0 movq %rbp, (%rcx)
427 # CHECK-NEXT: 2. 1 3.0 0.0 0.0 movq %rsi, (%rdx)
428 # CHECK-NEXT: 3. 1 4.0 0.0 0.0 movq %rdi, (%rbx)
430 # CHECK: [4] Code Region
432 # CHECK: Iterations: 100
433 # CHECK-NEXT: Instructions: 400
434 # CHECK-NEXT: Total Cycles: 403
435 # CHECK-NEXT: Total uOps: 400
437 # CHECK: Dispatch Width: 4
438 # CHECK-NEXT: uOps Per Cycle: 0.99
439 # CHECK-NEXT: IPC: 0.99
440 # CHECK-NEXT: Block RThroughput: 4.0
442 # CHECK: Instruction Info:
443 # CHECK-NEXT: [1]: #uOps
444 # CHECK-NEXT: [2]: Latency
445 # CHECK-NEXT: [3]: RThroughput
446 # CHECK-NEXT: [4]: MayLoad
447 # CHECK-NEXT: [5]: MayStore
448 # CHECK-NEXT: [6]: HasSideEffects (U)
450 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
451 # CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
452 # CHECK-NEXT: 1 1 1.00 * U movd %mm1, (%rcx)
453 # CHECK-NEXT: 1 1 1.00 * U movd %mm2, (%rdx)
454 # CHECK-NEXT: 1 1 1.00 * U movd %mm3, (%rbx)
456 # CHECK: Dynamic Dispatch Stall Cycles:
457 # CHECK-NEXT: RAT - Register unavailable: 0
458 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
459 # CHECK-NEXT: SCHEDQ - Scheduler full: 329 (81.6%)
460 # CHECK-NEXT: LQ - Load queue full: 0
461 # CHECK-NEXT: SQ - Store queue full: 0
462 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
464 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
465 # CHECK-NEXT: [# dispatched], [# cycles]
466 # CHECK-NEXT: 0, 56 (13.9%)
467 # CHECK-NEXT: 1, 329 (81.6%)
468 # CHECK-NEXT: 3, 1 (0.2%)
469 # CHECK-NEXT: 4, 17 (4.2%)
471 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
472 # CHECK-NEXT: [# issued], [# cycles]
473 # CHECK-NEXT: 0, 3 (0.7%)
474 # CHECK-NEXT: 1, 400 (99.3%)
476 # CHECK: Scheduler's queue usage:
477 # CHECK-NEXT: [1] Resource name.
478 # CHECK-NEXT: [2] Average number of used buffer entries.
479 # CHECK-NEXT: [3] Maximum number of used buffer entries.
480 # CHECK-NEXT: [4] Total number of buffer entries.
482 # CHECK: [1] [2] [3] [4]
483 # CHECK-NEXT: SBPortAny 49 54 54
485 # CHECK: Resources:
486 # CHECK-NEXT: [0] - SBDivider
487 # CHECK-NEXT: [1] - SBFPDivider
488 # CHECK-NEXT: [2] - SBPort0
489 # CHECK-NEXT: [3] - SBPort1
490 # CHECK-NEXT: [4] - SBPort4
491 # CHECK-NEXT: [5] - SBPort5
492 # CHECK-NEXT: [6.0] - SBPort23
493 # CHECK-NEXT: [6.1] - SBPort23
495 # CHECK: Resource pressure per iteration:
496 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
497 # CHECK-NEXT: - - - - 4.00 - 2.00 2.00
499 # CHECK: Resource pressure by instruction:
500 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
501 # CHECK-NEXT: - - - - 1.00 - - 1.00 movd %mm0, (%rax)
502 # CHECK-NEXT: - - - - 1.00 - 1.00 - movd %mm1, (%rcx)
503 # CHECK-NEXT: - - - - 1.00 - - 1.00 movd %mm2, (%rdx)
504 # CHECK-NEXT: - - - - 1.00 - 1.00 - movd %mm3, (%rbx)
506 # CHECK: Timeline view:
507 # CHECK-NEXT: Index 0123456
509 # CHECK: [0,0] DeER .. movd %mm0, (%rax)
510 # CHECK-NEXT: [0,1] D=eER.. movd %mm1, (%rcx)
511 # CHECK-NEXT: [0,2] D==eER. movd %mm2, (%rdx)
512 # CHECK-NEXT: [0,3] D===eER movd %mm3, (%rbx)
514 # CHECK: Average Wait times (based on the timeline view):
515 # CHECK-NEXT: [0]: Executions
516 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
517 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
518 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
520 # CHECK: [0] [1] [2] [3]
521 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movd %mm0, (%rax)
522 # CHECK-NEXT: 1. 1 2.0 0.0 0.0 movd %mm1, (%rcx)
523 # CHECK-NEXT: 2. 1 3.0 0.0 0.0 movd %mm2, (%rdx)
524 # CHECK-NEXT: 3. 1 4.0 0.0 0.0 movd %mm3, (%rbx)
526 # CHECK: [5] Code Region
528 # CHECK: Iterations: 100
529 # CHECK-NEXT: Instructions: 400
530 # CHECK-NEXT: Total Cycles: 403
531 # CHECK-NEXT: Total uOps: 400
533 # CHECK: Dispatch Width: 4
534 # CHECK-NEXT: uOps Per Cycle: 0.99
535 # CHECK-NEXT: IPC: 0.99
536 # CHECK-NEXT: Block RThroughput: 4.0
538 # CHECK: Instruction Info:
539 # CHECK-NEXT: [1]: #uOps
540 # CHECK-NEXT: [2]: Latency
541 # CHECK-NEXT: [3]: RThroughput
542 # CHECK-NEXT: [4]: MayLoad
543 # CHECK-NEXT: [5]: MayStore
544 # CHECK-NEXT: [6]: HasSideEffects (U)
546 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
547 # CHECK-NEXT: 1 1 1.00 * movaps %xmm0, (%rax)
548 # CHECK-NEXT: 1 1 1.00 * movaps %xmm1, (%rcx)
549 # CHECK-NEXT: 1 1 1.00 * movaps %xmm2, (%rdx)
550 # CHECK-NEXT: 1 1 1.00 * movaps %xmm3, (%rbx)
552 # CHECK: Dynamic Dispatch Stall Cycles:
553 # CHECK-NEXT: RAT - Register unavailable: 0
554 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
555 # CHECK-NEXT: SCHEDQ - Scheduler full: 329 (81.6%)
556 # CHECK-NEXT: LQ - Load queue full: 0
557 # CHECK-NEXT: SQ - Store queue full: 0
558 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
560 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
561 # CHECK-NEXT: [# dispatched], [# cycles]
562 # CHECK-NEXT: 0, 56 (13.9%)
563 # CHECK-NEXT: 1, 329 (81.6%)
564 # CHECK-NEXT: 3, 1 (0.2%)
565 # CHECK-NEXT: 4, 17 (4.2%)
567 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
568 # CHECK-NEXT: [# issued], [# cycles]
569 # CHECK-NEXT: 0, 3 (0.7%)
570 # CHECK-NEXT: 1, 400 (99.3%)
572 # CHECK: Scheduler's queue usage:
573 # CHECK-NEXT: [1] Resource name.
574 # CHECK-NEXT: [2] Average number of used buffer entries.
575 # CHECK-NEXT: [3] Maximum number of used buffer entries.
576 # CHECK-NEXT: [4] Total number of buffer entries.
578 # CHECK: [1] [2] [3] [4]
579 # CHECK-NEXT: SBPortAny 49 54 54
581 # CHECK: Resources:
582 # CHECK-NEXT: [0] - SBDivider
583 # CHECK-NEXT: [1] - SBFPDivider
584 # CHECK-NEXT: [2] - SBPort0
585 # CHECK-NEXT: [3] - SBPort1
586 # CHECK-NEXT: [4] - SBPort4
587 # CHECK-NEXT: [5] - SBPort5
588 # CHECK-NEXT: [6.0] - SBPort23
589 # CHECK-NEXT: [6.1] - SBPort23
591 # CHECK: Resource pressure per iteration:
592 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
593 # CHECK-NEXT: - - - - 4.00 - 2.00 2.00
595 # CHECK: Resource pressure by instruction:
596 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
597 # CHECK-NEXT: - - - - 1.00 - - 1.00 movaps %xmm0, (%rax)
598 # CHECK-NEXT: - - - - 1.00 - 1.00 - movaps %xmm1, (%rcx)
599 # CHECK-NEXT: - - - - 1.00 - - 1.00 movaps %xmm2, (%rdx)
600 # CHECK-NEXT: - - - - 1.00 - 1.00 - movaps %xmm3, (%rbx)
602 # CHECK: Timeline view:
603 # CHECK-NEXT: Index 0123456
605 # CHECK: [0,0] DeER .. movaps %xmm0, (%rax)
606 # CHECK-NEXT: [0,1] D=eER.. movaps %xmm1, (%rcx)
607 # CHECK-NEXT: [0,2] D==eER. movaps %xmm2, (%rdx)
608 # CHECK-NEXT: [0,3] D===eER movaps %xmm3, (%rbx)
610 # CHECK: Average Wait times (based on the timeline view):
611 # CHECK-NEXT: [0]: Executions
612 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
613 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
614 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
616 # CHECK: [0] [1] [2] [3]
617 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movaps %xmm0, (%rax)
618 # CHECK-NEXT: 1. 1 2.0 0.0 0.0 movaps %xmm1, (%rcx)
619 # CHECK-NEXT: 2. 1 3.0 0.0 0.0 movaps %xmm2, (%rdx)
620 # CHECK-NEXT: 3. 1 4.0 0.0 0.0 movaps %xmm3, (%rbx)