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 < %s | FileCheck %s
46 # CHECK: [0] Code Region
48 # CHECK: Iterations: 100
49 # CHECK-NEXT: Instructions: 400
50 # CHECK-NEXT: Total Cycles: 207
51 # CHECK-NEXT: Total uOps: 400
53 # CHECK: Dispatch Width: 4
54 # CHECK-NEXT: uOps Per Cycle: 1.93
55 # CHECK-NEXT: IPC: 1.93
56 # CHECK-NEXT: Block RThroughput: 2.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 5 0.50 * movb (%rax), %spl
68 # CHECK-NEXT: 1 5 0.50 * movb (%rcx), %bpl
69 # CHECK-NEXT: 1 5 0.50 * movb (%rdx), %sil
70 # CHECK-NEXT: 1 5 0.50 * movb (%rbx), %dil
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: 147 (71.0%)
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
79 # CHECK-NEXT: USH - Uncategorised Structural Hazard: 0
81 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
82 # CHECK-NEXT: [# dispatched], [# cycles]
83 # CHECK-NEXT: 0, 33 (15.9%)
84 # CHECK-NEXT: 2, 148 (71.5%)
85 # CHECK-NEXT: 4, 26 (12.6%)
87 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
88 # CHECK-NEXT: [# issued], [# cycles]
89 # CHECK-NEXT: 0, 7 (3.4%)
90 # CHECK-NEXT: 2, 200 (96.6%)
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 45 54 54
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: - - - - - - 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 movb (%rax), %spl
118 # CHECK-NEXT: - - - - - - 1.00 - movb (%rcx), %bpl
119 # CHECK-NEXT: - - - - - - - 1.00 movb (%rdx), %sil
120 # CHECK-NEXT: - - - - - - 1.00 - movb (%rbx), %dil
122 # CHECK: Timeline view:
123 # CHECK-NEXT: Index 012345678
125 # CHECK: [0,0] DeeeeeER. movb (%rax), %spl
126 # CHECK-NEXT: [0,1] DeeeeeER. movb (%rcx), %bpl
127 # CHECK-NEXT: [0,2] D=eeeeeER movb (%rdx), %sil
128 # CHECK-NEXT: [0,3] D=eeeeeER movb (%rbx), %dil
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 (%rax), %spl
138 # CHECK-NEXT: 1. 1 1.0 1.0 0.0 movb (%rcx), %bpl
139 # CHECK-NEXT: 2. 1 2.0 2.0 0.0 movb (%rdx), %sil
140 # CHECK-NEXT: 3. 1 2.0 2.0 0.0 movb (%rbx), %dil
141 # CHECK-NEXT: 1 1.5 1.5 0.0 <total>
143 # CHECK: [1] Code Region
145 # CHECK: Iterations: 100
146 # CHECK-NEXT: Instructions: 400
147 # CHECK-NEXT: Total Cycles: 207
148 # CHECK-NEXT: Total uOps: 400
150 # CHECK: Dispatch Width: 4
151 # CHECK-NEXT: uOps Per Cycle: 1.93
152 # CHECK-NEXT: IPC: 1.93
153 # CHECK-NEXT: Block RThroughput: 2.0
155 # CHECK: Instruction Info:
156 # CHECK-NEXT: [1]: #uOps
157 # CHECK-NEXT: [2]: Latency
158 # CHECK-NEXT: [3]: RThroughput
159 # CHECK-NEXT: [4]: MayLoad
160 # CHECK-NEXT: [5]: MayStore
161 # CHECK-NEXT: [6]: HasSideEffects (U)
163 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
164 # CHECK-NEXT: 1 5 0.50 * movw (%rax), %sp
165 # CHECK-NEXT: 1 5 0.50 * movw (%rcx), %bp
166 # CHECK-NEXT: 1 5 0.50 * movw (%rdx), %si
167 # CHECK-NEXT: 1 5 0.50 * movw (%rbx), %di
169 # CHECK: Dynamic Dispatch Stall Cycles:
170 # CHECK-NEXT: RAT - Register unavailable: 0
171 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
172 # CHECK-NEXT: SCHEDQ - Scheduler full: 147 (71.0%)
173 # CHECK-NEXT: LQ - Load queue full: 0
174 # CHECK-NEXT: SQ - Store queue full: 0
175 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
176 # CHECK-NEXT: USH - Uncategorised Structural Hazard: 0
178 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
179 # CHECK-NEXT: [# dispatched], [# cycles]
180 # CHECK-NEXT: 0, 33 (15.9%)
181 # CHECK-NEXT: 2, 148 (71.5%)
182 # CHECK-NEXT: 4, 26 (12.6%)
184 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
185 # CHECK-NEXT: [# issued], [# cycles]
186 # CHECK-NEXT: 0, 7 (3.4%)
187 # CHECK-NEXT: 2, 200 (96.6%)
189 # CHECK: Scheduler's queue usage:
190 # CHECK-NEXT: [1] Resource name.
191 # CHECK-NEXT: [2] Average number of used buffer entries.
192 # CHECK-NEXT: [3] Maximum number of used buffer entries.
193 # CHECK-NEXT: [4] Total number of buffer entries.
195 # CHECK: [1] [2] [3] [4]
196 # CHECK-NEXT: SBPortAny 45 54 54
199 # CHECK-NEXT: [0] - SBDivider
200 # CHECK-NEXT: [1] - SBFPDivider
201 # CHECK-NEXT: [2] - SBPort0
202 # CHECK-NEXT: [3] - SBPort1
203 # CHECK-NEXT: [4] - SBPort4
204 # CHECK-NEXT: [5] - SBPort5
205 # CHECK-NEXT: [6.0] - SBPort23
206 # CHECK-NEXT: [6.1] - SBPort23
208 # CHECK: Resource pressure per iteration:
209 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
210 # CHECK-NEXT: - - - - - - 2.00 2.00
212 # CHECK: Resource pressure by instruction:
213 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
214 # CHECK-NEXT: - - - - - - - 1.00 movw (%rax), %sp
215 # CHECK-NEXT: - - - - - - 1.00 - movw (%rcx), %bp
216 # CHECK-NEXT: - - - - - - - 1.00 movw (%rdx), %si
217 # CHECK-NEXT: - - - - - - 1.00 - movw (%rbx), %di
219 # CHECK: Timeline view:
220 # CHECK-NEXT: Index 012345678
222 # CHECK: [0,0] DeeeeeER. movw (%rax), %sp
223 # CHECK-NEXT: [0,1] DeeeeeER. movw (%rcx), %bp
224 # CHECK-NEXT: [0,2] D=eeeeeER movw (%rdx), %si
225 # CHECK-NEXT: [0,3] D=eeeeeER movw (%rbx), %di
227 # CHECK: Average Wait times (based on the timeline view):
228 # CHECK-NEXT: [0]: Executions
229 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
230 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
231 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
233 # CHECK: [0] [1] [2] [3]
234 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movw (%rax), %sp
235 # CHECK-NEXT: 1. 1 1.0 1.0 0.0 movw (%rcx), %bp
236 # CHECK-NEXT: 2. 1 2.0 2.0 0.0 movw (%rdx), %si
237 # CHECK-NEXT: 3. 1 2.0 2.0 0.0 movw (%rbx), %di
238 # CHECK-NEXT: 1 1.5 1.5 0.0 <total>
240 # CHECK: [2] Code Region
242 # CHECK: Iterations: 100
243 # CHECK-NEXT: Instructions: 400
244 # CHECK-NEXT: Total Cycles: 207
245 # CHECK-NEXT: Total uOps: 400
247 # CHECK: Dispatch Width: 4
248 # CHECK-NEXT: uOps Per Cycle: 1.93
249 # CHECK-NEXT: IPC: 1.93
250 # CHECK-NEXT: Block RThroughput: 2.0
252 # CHECK: Instruction Info:
253 # CHECK-NEXT: [1]: #uOps
254 # CHECK-NEXT: [2]: Latency
255 # CHECK-NEXT: [3]: RThroughput
256 # CHECK-NEXT: [4]: MayLoad
257 # CHECK-NEXT: [5]: MayStore
258 # CHECK-NEXT: [6]: HasSideEffects (U)
260 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
261 # CHECK-NEXT: 1 5 0.50 * movl (%rax), %esp
262 # CHECK-NEXT: 1 5 0.50 * movl (%rcx), %ebp
263 # CHECK-NEXT: 1 5 0.50 * movl (%rdx), %esi
264 # CHECK-NEXT: 1 5 0.50 * movl (%rbx), %edi
266 # CHECK: Dynamic Dispatch Stall Cycles:
267 # CHECK-NEXT: RAT - Register unavailable: 0
268 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
269 # CHECK-NEXT: SCHEDQ - Scheduler full: 147 (71.0%)
270 # CHECK-NEXT: LQ - Load queue full: 0
271 # CHECK-NEXT: SQ - Store queue full: 0
272 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
273 # CHECK-NEXT: USH - Uncategorised Structural Hazard: 0
275 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
276 # CHECK-NEXT: [# dispatched], [# cycles]
277 # CHECK-NEXT: 0, 33 (15.9%)
278 # CHECK-NEXT: 2, 148 (71.5%)
279 # CHECK-NEXT: 4, 26 (12.6%)
281 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
282 # CHECK-NEXT: [# issued], [# cycles]
283 # CHECK-NEXT: 0, 7 (3.4%)
284 # CHECK-NEXT: 2, 200 (96.6%)
286 # CHECK: Scheduler's queue usage:
287 # CHECK-NEXT: [1] Resource name.
288 # CHECK-NEXT: [2] Average number of used buffer entries.
289 # CHECK-NEXT: [3] Maximum number of used buffer entries.
290 # CHECK-NEXT: [4] Total number of buffer entries.
292 # CHECK: [1] [2] [3] [4]
293 # CHECK-NEXT: SBPortAny 45 54 54
296 # CHECK-NEXT: [0] - SBDivider
297 # CHECK-NEXT: [1] - SBFPDivider
298 # CHECK-NEXT: [2] - SBPort0
299 # CHECK-NEXT: [3] - SBPort1
300 # CHECK-NEXT: [4] - SBPort4
301 # CHECK-NEXT: [5] - SBPort5
302 # CHECK-NEXT: [6.0] - SBPort23
303 # CHECK-NEXT: [6.1] - SBPort23
305 # CHECK: Resource pressure per iteration:
306 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
307 # CHECK-NEXT: - - - - - - 2.00 2.00
309 # CHECK: Resource pressure by instruction:
310 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
311 # CHECK-NEXT: - - - - - - - 1.00 movl (%rax), %esp
312 # CHECK-NEXT: - - - - - - 1.00 - movl (%rcx), %ebp
313 # CHECK-NEXT: - - - - - - - 1.00 movl (%rdx), %esi
314 # CHECK-NEXT: - - - - - - 1.00 - movl (%rbx), %edi
316 # CHECK: Timeline view:
317 # CHECK-NEXT: Index 012345678
319 # CHECK: [0,0] DeeeeeER. movl (%rax), %esp
320 # CHECK-NEXT: [0,1] DeeeeeER. movl (%rcx), %ebp
321 # CHECK-NEXT: [0,2] D=eeeeeER movl (%rdx), %esi
322 # CHECK-NEXT: [0,3] D=eeeeeER movl (%rbx), %edi
324 # CHECK: Average Wait times (based on the timeline view):
325 # CHECK-NEXT: [0]: Executions
326 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
327 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
328 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
330 # CHECK: [0] [1] [2] [3]
331 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movl (%rax), %esp
332 # CHECK-NEXT: 1. 1 1.0 1.0 0.0 movl (%rcx), %ebp
333 # CHECK-NEXT: 2. 1 2.0 2.0 0.0 movl (%rdx), %esi
334 # CHECK-NEXT: 3. 1 2.0 2.0 0.0 movl (%rbx), %edi
335 # CHECK-NEXT: 1 1.5 1.5 0.0 <total>
337 # CHECK: [3] Code Region
339 # CHECK: Iterations: 100
340 # CHECK-NEXT: Instructions: 400
341 # CHECK-NEXT: Total Cycles: 207
342 # CHECK-NEXT: Total uOps: 400
344 # CHECK: Dispatch Width: 4
345 # CHECK-NEXT: uOps Per Cycle: 1.93
346 # CHECK-NEXT: IPC: 1.93
347 # CHECK-NEXT: Block RThroughput: 2.0
349 # CHECK: Instruction Info:
350 # CHECK-NEXT: [1]: #uOps
351 # CHECK-NEXT: [2]: Latency
352 # CHECK-NEXT: [3]: RThroughput
353 # CHECK-NEXT: [4]: MayLoad
354 # CHECK-NEXT: [5]: MayStore
355 # CHECK-NEXT: [6]: HasSideEffects (U)
357 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
358 # CHECK-NEXT: 1 5 0.50 * movq (%rax), %rsp
359 # CHECK-NEXT: 1 5 0.50 * movq (%rcx), %rbp
360 # CHECK-NEXT: 1 5 0.50 * movq (%rdx), %rsi
361 # CHECK-NEXT: 1 5 0.50 * movq (%rbx), %rdi
363 # CHECK: Dynamic Dispatch Stall Cycles:
364 # CHECK-NEXT: RAT - Register unavailable: 0
365 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
366 # CHECK-NEXT: SCHEDQ - Scheduler full: 147 (71.0%)
367 # CHECK-NEXT: LQ - Load queue full: 0
368 # CHECK-NEXT: SQ - Store queue full: 0
369 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
370 # CHECK-NEXT: USH - Uncategorised Structural Hazard: 0
372 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
373 # CHECK-NEXT: [# dispatched], [# cycles]
374 # CHECK-NEXT: 0, 33 (15.9%)
375 # CHECK-NEXT: 2, 148 (71.5%)
376 # CHECK-NEXT: 4, 26 (12.6%)
378 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
379 # CHECK-NEXT: [# issued], [# cycles]
380 # CHECK-NEXT: 0, 7 (3.4%)
381 # CHECK-NEXT: 2, 200 (96.6%)
383 # CHECK: Scheduler's queue usage:
384 # CHECK-NEXT: [1] Resource name.
385 # CHECK-NEXT: [2] Average number of used buffer entries.
386 # CHECK-NEXT: [3] Maximum number of used buffer entries.
387 # CHECK-NEXT: [4] Total number of buffer entries.
389 # CHECK: [1] [2] [3] [4]
390 # CHECK-NEXT: SBPortAny 45 54 54
393 # CHECK-NEXT: [0] - SBDivider
394 # CHECK-NEXT: [1] - SBFPDivider
395 # CHECK-NEXT: [2] - SBPort0
396 # CHECK-NEXT: [3] - SBPort1
397 # CHECK-NEXT: [4] - SBPort4
398 # CHECK-NEXT: [5] - SBPort5
399 # CHECK-NEXT: [6.0] - SBPort23
400 # CHECK-NEXT: [6.1] - SBPort23
402 # CHECK: Resource pressure per iteration:
403 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
404 # CHECK-NEXT: - - - - - - 2.00 2.00
406 # CHECK: Resource pressure by instruction:
407 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
408 # CHECK-NEXT: - - - - - - - 1.00 movq (%rax), %rsp
409 # CHECK-NEXT: - - - - - - 1.00 - movq (%rcx), %rbp
410 # CHECK-NEXT: - - - - - - - 1.00 movq (%rdx), %rsi
411 # CHECK-NEXT: - - - - - - 1.00 - movq (%rbx), %rdi
413 # CHECK: Timeline view:
414 # CHECK-NEXT: Index 012345678
416 # CHECK: [0,0] DeeeeeER. movq (%rax), %rsp
417 # CHECK-NEXT: [0,1] DeeeeeER. movq (%rcx), %rbp
418 # CHECK-NEXT: [0,2] D=eeeeeER movq (%rdx), %rsi
419 # CHECK-NEXT: [0,3] D=eeeeeER movq (%rbx), %rdi
421 # CHECK: Average Wait times (based on the timeline view):
422 # CHECK-NEXT: [0]: Executions
423 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
424 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
425 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
427 # CHECK: [0] [1] [2] [3]
428 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movq (%rax), %rsp
429 # CHECK-NEXT: 1. 1 1.0 1.0 0.0 movq (%rcx), %rbp
430 # CHECK-NEXT: 2. 1 2.0 2.0 0.0 movq (%rdx), %rsi
431 # CHECK-NEXT: 3. 1 2.0 2.0 0.0 movq (%rbx), %rdi
432 # CHECK-NEXT: 1 1.5 1.5 0.0 <total>
434 # CHECK: [4] Code Region
436 # CHECK: Iterations: 100
437 # CHECK-NEXT: Instructions: 400
438 # CHECK-NEXT: Total Cycles: 207
439 # CHECK-NEXT: Total uOps: 400
441 # CHECK: Dispatch Width: 4
442 # CHECK-NEXT: uOps Per Cycle: 1.93
443 # CHECK-NEXT: IPC: 1.93
444 # CHECK-NEXT: Block RThroughput: 2.0
446 # CHECK: Instruction Info:
447 # CHECK-NEXT: [1]: #uOps
448 # CHECK-NEXT: [2]: Latency
449 # CHECK-NEXT: [3]: RThroughput
450 # CHECK-NEXT: [4]: MayLoad
451 # CHECK-NEXT: [5]: MayStore
452 # CHECK-NEXT: [6]: HasSideEffects (U)
454 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
455 # CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm0
456 # CHECK-NEXT: 1 5 0.50 * movd (%rcx), %mm1
457 # CHECK-NEXT: 1 5 0.50 * movd (%rdx), %mm2
458 # CHECK-NEXT: 1 5 0.50 * movd (%rbx), %mm3
460 # CHECK: Dynamic Dispatch Stall Cycles:
461 # CHECK-NEXT: RAT - Register unavailable: 0
462 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
463 # CHECK-NEXT: SCHEDQ - Scheduler full: 147 (71.0%)
464 # CHECK-NEXT: LQ - Load queue full: 0
465 # CHECK-NEXT: SQ - Store queue full: 0
466 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
467 # CHECK-NEXT: USH - Uncategorised Structural Hazard: 0
469 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
470 # CHECK-NEXT: [# dispatched], [# cycles]
471 # CHECK-NEXT: 0, 33 (15.9%)
472 # CHECK-NEXT: 2, 148 (71.5%)
473 # CHECK-NEXT: 4, 26 (12.6%)
475 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
476 # CHECK-NEXT: [# issued], [# cycles]
477 # CHECK-NEXT: 0, 7 (3.4%)
478 # CHECK-NEXT: 2, 200 (96.6%)
480 # CHECK: Scheduler's queue usage:
481 # CHECK-NEXT: [1] Resource name.
482 # CHECK-NEXT: [2] Average number of used buffer entries.
483 # CHECK-NEXT: [3] Maximum number of used buffer entries.
484 # CHECK-NEXT: [4] Total number of buffer entries.
486 # CHECK: [1] [2] [3] [4]
487 # CHECK-NEXT: SBPortAny 45 54 54
490 # CHECK-NEXT: [0] - SBDivider
491 # CHECK-NEXT: [1] - SBFPDivider
492 # CHECK-NEXT: [2] - SBPort0
493 # CHECK-NEXT: [3] - SBPort1
494 # CHECK-NEXT: [4] - SBPort4
495 # CHECK-NEXT: [5] - SBPort5
496 # CHECK-NEXT: [6.0] - SBPort23
497 # CHECK-NEXT: [6.1] - SBPort23
499 # CHECK: Resource pressure per iteration:
500 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
501 # CHECK-NEXT: - - - - - - 2.00 2.00
503 # CHECK: Resource pressure by instruction:
504 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
505 # CHECK-NEXT: - - - - - - - 1.00 movd (%rax), %mm0
506 # CHECK-NEXT: - - - - - - 1.00 - movd (%rcx), %mm1
507 # CHECK-NEXT: - - - - - - - 1.00 movd (%rdx), %mm2
508 # CHECK-NEXT: - - - - - - 1.00 - movd (%rbx), %mm3
510 # CHECK: Timeline view:
511 # CHECK-NEXT: Index 012345678
513 # CHECK: [0,0] DeeeeeER. movd (%rax), %mm0
514 # CHECK-NEXT: [0,1] DeeeeeER. movd (%rcx), %mm1
515 # CHECK-NEXT: [0,2] D=eeeeeER movd (%rdx), %mm2
516 # CHECK-NEXT: [0,3] D=eeeeeER movd (%rbx), %mm3
518 # CHECK: Average Wait times (based on the timeline view):
519 # CHECK-NEXT: [0]: Executions
520 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
521 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
522 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
524 # CHECK: [0] [1] [2] [3]
525 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movd (%rax), %mm0
526 # CHECK-NEXT: 1. 1 1.0 1.0 0.0 movd (%rcx), %mm1
527 # CHECK-NEXT: 2. 1 2.0 2.0 0.0 movd (%rdx), %mm2
528 # CHECK-NEXT: 3. 1 2.0 2.0 0.0 movd (%rbx), %mm3
529 # CHECK-NEXT: 1 1.5 1.5 0.0 <total>
531 # CHECK: [5] Code Region
533 # CHECK: Iterations: 100
534 # CHECK-NEXT: Instructions: 400
535 # CHECK-NEXT: Total Cycles: 208
536 # CHECK-NEXT: Total uOps: 400
538 # CHECK: Dispatch Width: 4
539 # CHECK-NEXT: uOps Per Cycle: 1.92
540 # CHECK-NEXT: IPC: 1.92
541 # CHECK-NEXT: Block RThroughput: 2.0
543 # CHECK: Instruction Info:
544 # CHECK-NEXT: [1]: #uOps
545 # CHECK-NEXT: [2]: Latency
546 # CHECK-NEXT: [3]: RThroughput
547 # CHECK-NEXT: [4]: MayLoad
548 # CHECK-NEXT: [5]: MayStore
549 # CHECK-NEXT: [6]: HasSideEffects (U)
551 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
552 # CHECK-NEXT: 1 6 0.50 * movaps (%rax), %xmm0
553 # CHECK-NEXT: 1 6 0.50 * movaps (%rcx), %xmm1
554 # CHECK-NEXT: 1 6 0.50 * movaps (%rdx), %xmm2
555 # CHECK-NEXT: 1 6 0.50 * movaps (%rbx), %xmm3
557 # CHECK: Dynamic Dispatch Stall Cycles:
558 # CHECK-NEXT: RAT - Register unavailable: 0
559 # CHECK-NEXT: RCU - Retire tokens unavailable: 0
560 # CHECK-NEXT: SCHEDQ - Scheduler full: 147 (70.7%)
561 # CHECK-NEXT: LQ - Load queue full: 0
562 # CHECK-NEXT: SQ - Store queue full: 0
563 # CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0
564 # CHECK-NEXT: USH - Uncategorised Structural Hazard: 0
566 # CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
567 # CHECK-NEXT: [# dispatched], [# cycles]
568 # CHECK-NEXT: 0, 34 (16.3%)
569 # CHECK-NEXT: 2, 148 (71.2%)
570 # CHECK-NEXT: 4, 26 (12.5%)
572 # CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:
573 # CHECK-NEXT: [# issued], [# cycles]
574 # CHECK-NEXT: 0, 8 (3.8%)
575 # CHECK-NEXT: 2, 200 (96.2%)
577 # CHECK: Scheduler's queue usage:
578 # CHECK-NEXT: [1] Resource name.
579 # CHECK-NEXT: [2] Average number of used buffer entries.
580 # CHECK-NEXT: [3] Maximum number of used buffer entries.
581 # CHECK-NEXT: [4] Total number of buffer entries.
583 # CHECK: [1] [2] [3] [4]
584 # CHECK-NEXT: SBPortAny 45 54 54
587 # CHECK-NEXT: [0] - SBDivider
588 # CHECK-NEXT: [1] - SBFPDivider
589 # CHECK-NEXT: [2] - SBPort0
590 # CHECK-NEXT: [3] - SBPort1
591 # CHECK-NEXT: [4] - SBPort4
592 # CHECK-NEXT: [5] - SBPort5
593 # CHECK-NEXT: [6.0] - SBPort23
594 # CHECK-NEXT: [6.1] - SBPort23
596 # CHECK: Resource pressure per iteration:
597 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
598 # CHECK-NEXT: - - - - - - 2.00 2.00
600 # CHECK: Resource pressure by instruction:
601 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
602 # CHECK-NEXT: - - - - - - - 1.00 movaps (%rax), %xmm0
603 # CHECK-NEXT: - - - - - - 1.00 - movaps (%rcx), %xmm1
604 # CHECK-NEXT: - - - - - - - 1.00 movaps (%rdx), %xmm2
605 # CHECK-NEXT: - - - - - - 1.00 - movaps (%rbx), %xmm3
607 # CHECK: Timeline view:
608 # CHECK-NEXT: Index 0123456789
610 # CHECK: [0,0] DeeeeeeER. movaps (%rax), %xmm0
611 # CHECK-NEXT: [0,1] DeeeeeeER. movaps (%rcx), %xmm1
612 # CHECK-NEXT: [0,2] D=eeeeeeER movaps (%rdx), %xmm2
613 # CHECK-NEXT: [0,3] D=eeeeeeER movaps (%rbx), %xmm3
615 # CHECK: Average Wait times (based on the timeline view):
616 # CHECK-NEXT: [0]: Executions
617 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
618 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
619 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
621 # CHECK: [0] [1] [2] [3]
622 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 movaps (%rax), %xmm0
623 # CHECK-NEXT: 1. 1 1.0 1.0 0.0 movaps (%rcx), %xmm1
624 # CHECK-NEXT: 2. 1 2.0 2.0 0.0 movaps (%rdx), %xmm2
625 # CHECK-NEXT: 3. 1 2.0 2.0 0.0 movaps (%rbx), %xmm3
626 # CHECK-NEXT: 1 1.5 1.5 0.0 <total>