xref: /llvm-project/llvm/test/tools/llvm-mca/X86/BdVer2/load-throughput.s (revision f0658c7a429b9e356da1670b280ab943ad0b0b94)
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -scheduler-stats -dispatch-stats -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s
3
4# LLVM-MCA-BEGIN
5movb (%rax), %spl
6movb (%rcx), %bpl
7movb (%rdx), %sil
8movb (%rbx), %dil
9# LLVM-MCA-END
10
11# LLVM-MCA-BEGIN
12movw (%rax), %sp
13movw (%rcx), %bp
14movw (%rdx), %si
15movw (%rbx), %di
16# LLVM-MCA-END
17
18# LLVM-MCA-BEGIN
19movl (%rax), %esp
20movl (%rcx), %ebp
21movl (%rdx), %esi
22movl (%rbx), %edi
23# LLVM-MCA-END
24
25# LLVM-MCA-BEGIN
26movq (%rax), %rsp
27movq (%rcx), %rbp
28movq (%rdx), %rsi
29movq (%rbx), %rdi
30# LLVM-MCA-END
31
32# LLVM-MCA-BEGIN
33movd (%rax), %mm0
34movd (%rcx), %mm1
35movd (%rdx), %mm2
36movd (%rbx), %mm3
37# LLVM-MCA-END
38
39# LLVM-MCA-BEGIN
40movaps (%rax), %xmm0
41movaps (%rcx), %xmm1
42movaps (%rdx), %xmm2
43movaps (%rbx), %xmm3
44# LLVM-MCA-END
45
46# LLVM-MCA-BEGIN
47vmovaps (%rax), %ymm0
48vmovaps (%rcx), %ymm1
49vmovaps (%rdx), %ymm2
50vmovaps (%rbx), %ymm3
51# LLVM-MCA-END
52
53# CHECK:      [0] Code Region
54
55# CHECK:      Iterations:        100
56# CHECK-NEXT: Instructions:      400
57# CHECK-NEXT: Total Cycles:      406
58# CHECK-NEXT: Total uOps:        400
59
60# CHECK:      Dispatch Width:    4
61# CHECK-NEXT: uOps Per Cycle:    0.99
62# CHECK-NEXT: IPC:               0.99
63# CHECK-NEXT: Block RThroughput: 4.0
64
65# CHECK:      Instruction Info:
66# CHECK-NEXT: [1]: #uOps
67# CHECK-NEXT: [2]: Latency
68# CHECK-NEXT: [3]: RThroughput
69# CHECK-NEXT: [4]: MayLoad
70# CHECK-NEXT: [5]: MayStore
71# CHECK-NEXT: [6]: HasSideEffects (U)
72
73# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
74# CHECK-NEXT:  1      5     1.00    *                   movb	(%rax), %spl
75# CHECK-NEXT:  1      5     1.00    *                   movb	(%rcx), %bpl
76# CHECK-NEXT:  1      5     1.00    *                   movb	(%rdx), %sil
77# CHECK-NEXT:  1      5     1.00    *                   movb	(%rbx), %dil
78
79# CHECK:      Dynamic Dispatch Stall Cycles:
80# CHECK-NEXT: RAT     - Register unavailable:                      0
81# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
82# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
83# CHECK-NEXT: LQ      - Load queue full:                           354  (87.2%)
84# CHECK-NEXT: SQ      - Store queue full:                          0
85# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
86# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
87
88# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
89# CHECK-NEXT: [# dispatched], [# cycles]
90# CHECK-NEXT:  0,              217  (53.4%)
91# CHECK-NEXT:  2,              178  (43.8%)
92# CHECK-NEXT:  4,              11  (2.7%)
93
94# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
95# CHECK-NEXT: [# issued], [# cycles]
96# CHECK-NEXT:  0,          206  (50.7%)
97# CHECK-NEXT:  2,          200  (49.3%)
98
99# CHECK:      Scheduler's queue usage:
100# CHECK-NEXT: [1] Resource name.
101# CHECK-NEXT: [2] Average number of used buffer entries.
102# CHECK-NEXT: [3] Maximum number of used buffer entries.
103# CHECK-NEXT: [4] Total number of buffer entries.
104
105# CHECK:       [1]            [2]        [3]        [4]
106# CHECK-NEXT: PdEX             31         34         40
107# CHECK-NEXT: PdFPU            0          0          64
108# CHECK-NEXT: PdLoad           36         40         40
109# CHECK-NEXT: PdStore          0          0          24
110
111# CHECK:      Resources:
112# CHECK-NEXT: [0.0] - PdAGLU01
113# CHECK-NEXT: [0.1] - PdAGLU01
114# CHECK-NEXT: [1]   - PdBranch
115# CHECK-NEXT: [2]   - PdCount
116# CHECK-NEXT: [3]   - PdDiv
117# CHECK-NEXT: [4]   - PdEX0
118# CHECK-NEXT: [5]   - PdEX1
119# CHECK-NEXT: [6]   - PdFPCVT
120# CHECK-NEXT: [7.0] - PdFPFMA
121# CHECK-NEXT: [7.1] - PdFPFMA
122# CHECK-NEXT: [8.0] - PdFPMAL
123# CHECK-NEXT: [8.1] - PdFPMAL
124# CHECK-NEXT: [9]   - PdFPMMA
125# CHECK-NEXT: [10]  - PdFPSTO
126# CHECK-NEXT: [11]  - PdFPU0
127# CHECK-NEXT: [12]  - PdFPU1
128# CHECK-NEXT: [13]  - PdFPU2
129# CHECK-NEXT: [14]  - PdFPU3
130# CHECK-NEXT: [15]  - PdFPXBR
131# CHECK-NEXT: [16.0] - PdLoad
132# CHECK-NEXT: [16.1] - PdLoad
133# CHECK-NEXT: [17]  - PdMul
134# CHECK-NEXT: [18]  - PdStore
135
136# CHECK:      Resource pressure per iteration:
137# 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]
138# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   4.00    -      -
139
140# CHECK:      Resource pressure by instruction:
141# 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:
142# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movb	(%rax), %spl
143# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movb	(%rcx), %bpl
144# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movb	(%rdx), %sil
145# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movb	(%rbx), %dil
146
147# CHECK:      Timeline view:
148# CHECK-NEXT: Index     0123456789
149
150# CHECK:      [0,0]     DeeeeeER .   movb	(%rax), %spl
151# CHECK-NEXT: [0,1]     DeeeeeER .   movb	(%rcx), %bpl
152# CHECK-NEXT: [0,2]     D==eeeeeER   movb	(%rdx), %sil
153# CHECK-NEXT: [0,3]     D==eeeeeER   movb	(%rbx), %dil
154
155# CHECK:      Average Wait times (based on the timeline view):
156# CHECK-NEXT: [0]: Executions
157# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
158# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
159# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
160
161# CHECK:            [0]    [1]    [2]    [3]
162# CHECK-NEXT: 0.     1     1.0    1.0    0.0       movb	(%rax), %spl
163# CHECK-NEXT: 1.     1     1.0    1.0    0.0       movb	(%rcx), %bpl
164# CHECK-NEXT: 2.     1     3.0    3.0    0.0       movb	(%rdx), %sil
165# CHECK-NEXT: 3.     1     3.0    3.0    0.0       movb	(%rbx), %dil
166# CHECK-NEXT:        1     2.0    2.0    0.0       <total>
167
168# CHECK:      [1] Code Region
169
170# CHECK:      Iterations:        100
171# CHECK-NEXT: Instructions:      400
172# CHECK-NEXT: Total Cycles:      406
173# CHECK-NEXT: Total uOps:        400
174
175# CHECK:      Dispatch Width:    4
176# CHECK-NEXT: uOps Per Cycle:    0.99
177# CHECK-NEXT: IPC:               0.99
178# CHECK-NEXT: Block RThroughput: 4.0
179
180# CHECK:      Instruction Info:
181# CHECK-NEXT: [1]: #uOps
182# CHECK-NEXT: [2]: Latency
183# CHECK-NEXT: [3]: RThroughput
184# CHECK-NEXT: [4]: MayLoad
185# CHECK-NEXT: [5]: MayStore
186# CHECK-NEXT: [6]: HasSideEffects (U)
187
188# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
189# CHECK-NEXT:  1      5     1.00    *                   movw	(%rax), %sp
190# CHECK-NEXT:  1      5     1.00    *                   movw	(%rcx), %bp
191# CHECK-NEXT:  1      5     1.00    *                   movw	(%rdx), %si
192# CHECK-NEXT:  1      5     1.00    *                   movw	(%rbx), %di
193
194# CHECK:      Dynamic Dispatch Stall Cycles:
195# CHECK-NEXT: RAT     - Register unavailable:                      0
196# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
197# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
198# CHECK-NEXT: LQ      - Load queue full:                           354  (87.2%)
199# CHECK-NEXT: SQ      - Store queue full:                          0
200# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
201# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
202
203# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
204# CHECK-NEXT: [# dispatched], [# cycles]
205# CHECK-NEXT:  0,              217  (53.4%)
206# CHECK-NEXT:  2,              178  (43.8%)
207# CHECK-NEXT:  4,              11  (2.7%)
208
209# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
210# CHECK-NEXT: [# issued], [# cycles]
211# CHECK-NEXT:  0,          206  (50.7%)
212# CHECK-NEXT:  2,          200  (49.3%)
213
214# CHECK:      Scheduler's queue usage:
215# CHECK-NEXT: [1] Resource name.
216# CHECK-NEXT: [2] Average number of used buffer entries.
217# CHECK-NEXT: [3] Maximum number of used buffer entries.
218# CHECK-NEXT: [4] Total number of buffer entries.
219
220# CHECK:       [1]            [2]        [3]        [4]
221# CHECK-NEXT: PdEX             31         34         40
222# CHECK-NEXT: PdFPU            0          0          64
223# CHECK-NEXT: PdLoad           36         40         40
224# CHECK-NEXT: PdStore          0          0          24
225
226# CHECK:      Resources:
227# CHECK-NEXT: [0.0] - PdAGLU01
228# CHECK-NEXT: [0.1] - PdAGLU01
229# CHECK-NEXT: [1]   - PdBranch
230# CHECK-NEXT: [2]   - PdCount
231# CHECK-NEXT: [3]   - PdDiv
232# CHECK-NEXT: [4]   - PdEX0
233# CHECK-NEXT: [5]   - PdEX1
234# CHECK-NEXT: [6]   - PdFPCVT
235# CHECK-NEXT: [7.0] - PdFPFMA
236# CHECK-NEXT: [7.1] - PdFPFMA
237# CHECK-NEXT: [8.0] - PdFPMAL
238# CHECK-NEXT: [8.1] - PdFPMAL
239# CHECK-NEXT: [9]   - PdFPMMA
240# CHECK-NEXT: [10]  - PdFPSTO
241# CHECK-NEXT: [11]  - PdFPU0
242# CHECK-NEXT: [12]  - PdFPU1
243# CHECK-NEXT: [13]  - PdFPU2
244# CHECK-NEXT: [14]  - PdFPU3
245# CHECK-NEXT: [15]  - PdFPXBR
246# CHECK-NEXT: [16.0] - PdLoad
247# CHECK-NEXT: [16.1] - PdLoad
248# CHECK-NEXT: [17]  - PdMul
249# CHECK-NEXT: [18]  - PdStore
250
251# CHECK:      Resource pressure per iteration:
252# 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]
253# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   4.00    -      -
254
255# CHECK:      Resource pressure by instruction:
256# 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:
257# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movw	(%rax), %sp
258# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movw	(%rcx), %bp
259# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movw	(%rdx), %si
260# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movw	(%rbx), %di
261
262# CHECK:      Timeline view:
263# CHECK-NEXT: Index     0123456789
264
265# CHECK:      [0,0]     DeeeeeER .   movw	(%rax), %sp
266# CHECK-NEXT: [0,1]     DeeeeeER .   movw	(%rcx), %bp
267# CHECK-NEXT: [0,2]     D==eeeeeER   movw	(%rdx), %si
268# CHECK-NEXT: [0,3]     D==eeeeeER   movw	(%rbx), %di
269
270# CHECK:      Average Wait times (based on the timeline view):
271# CHECK-NEXT: [0]: Executions
272# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
273# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
274# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
275
276# CHECK:            [0]    [1]    [2]    [3]
277# CHECK-NEXT: 0.     1     1.0    1.0    0.0       movw	(%rax), %sp
278# CHECK-NEXT: 1.     1     1.0    1.0    0.0       movw	(%rcx), %bp
279# CHECK-NEXT: 2.     1     3.0    3.0    0.0       movw	(%rdx), %si
280# CHECK-NEXT: 3.     1     3.0    3.0    0.0       movw	(%rbx), %di
281# CHECK-NEXT:        1     2.0    2.0    0.0       <total>
282
283# CHECK:      [2] Code Region
284
285# CHECK:      Iterations:        100
286# CHECK-NEXT: Instructions:      400
287# CHECK-NEXT: Total Cycles:      406
288# CHECK-NEXT: Total uOps:        400
289
290# CHECK:      Dispatch Width:    4
291# CHECK-NEXT: uOps Per Cycle:    0.99
292# CHECK-NEXT: IPC:               0.99
293# CHECK-NEXT: Block RThroughput: 4.0
294
295# CHECK:      Instruction Info:
296# CHECK-NEXT: [1]: #uOps
297# CHECK-NEXT: [2]: Latency
298# CHECK-NEXT: [3]: RThroughput
299# CHECK-NEXT: [4]: MayLoad
300# CHECK-NEXT: [5]: MayStore
301# CHECK-NEXT: [6]: HasSideEffects (U)
302
303# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
304# CHECK-NEXT:  1      5     1.00    *                   movl	(%rax), %esp
305# CHECK-NEXT:  1      5     1.00    *                   movl	(%rcx), %ebp
306# CHECK-NEXT:  1      5     1.00    *                   movl	(%rdx), %esi
307# CHECK-NEXT:  1      5     1.00    *                   movl	(%rbx), %edi
308
309# CHECK:      Dynamic Dispatch Stall Cycles:
310# CHECK-NEXT: RAT     - Register unavailable:                      0
311# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
312# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
313# CHECK-NEXT: LQ      - Load queue full:                           354  (87.2%)
314# CHECK-NEXT: SQ      - Store queue full:                          0
315# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
316# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
317
318# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
319# CHECK-NEXT: [# dispatched], [# cycles]
320# CHECK-NEXT:  0,              217  (53.4%)
321# CHECK-NEXT:  2,              178  (43.8%)
322# CHECK-NEXT:  4,              11  (2.7%)
323
324# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
325# CHECK-NEXT: [# issued], [# cycles]
326# CHECK-NEXT:  0,          206  (50.7%)
327# CHECK-NEXT:  2,          200  (49.3%)
328
329# CHECK:      Scheduler's queue usage:
330# CHECK-NEXT: [1] Resource name.
331# CHECK-NEXT: [2] Average number of used buffer entries.
332# CHECK-NEXT: [3] Maximum number of used buffer entries.
333# CHECK-NEXT: [4] Total number of buffer entries.
334
335# CHECK:       [1]            [2]        [3]        [4]
336# CHECK-NEXT: PdEX             31         34         40
337# CHECK-NEXT: PdFPU            0          0          64
338# CHECK-NEXT: PdLoad           36         40         40
339# CHECK-NEXT: PdStore          0          0          24
340
341# CHECK:      Resources:
342# CHECK-NEXT: [0.0] - PdAGLU01
343# CHECK-NEXT: [0.1] - PdAGLU01
344# CHECK-NEXT: [1]   - PdBranch
345# CHECK-NEXT: [2]   - PdCount
346# CHECK-NEXT: [3]   - PdDiv
347# CHECK-NEXT: [4]   - PdEX0
348# CHECK-NEXT: [5]   - PdEX1
349# CHECK-NEXT: [6]   - PdFPCVT
350# CHECK-NEXT: [7.0] - PdFPFMA
351# CHECK-NEXT: [7.1] - PdFPFMA
352# CHECK-NEXT: [8.0] - PdFPMAL
353# CHECK-NEXT: [8.1] - PdFPMAL
354# CHECK-NEXT: [9]   - PdFPMMA
355# CHECK-NEXT: [10]  - PdFPSTO
356# CHECK-NEXT: [11]  - PdFPU0
357# CHECK-NEXT: [12]  - PdFPU1
358# CHECK-NEXT: [13]  - PdFPU2
359# CHECK-NEXT: [14]  - PdFPU3
360# CHECK-NEXT: [15]  - PdFPXBR
361# CHECK-NEXT: [16.0] - PdLoad
362# CHECK-NEXT: [16.1] - PdLoad
363# CHECK-NEXT: [17]  - PdMul
364# CHECK-NEXT: [18]  - PdStore
365
366# CHECK:      Resource pressure per iteration:
367# 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]
368# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   4.00    -      -
369
370# CHECK:      Resource pressure by instruction:
371# 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:
372# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movl	(%rax), %esp
373# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movl	(%rcx), %ebp
374# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movl	(%rdx), %esi
375# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movl	(%rbx), %edi
376
377# CHECK:      Timeline view:
378# CHECK-NEXT: Index     0123456789
379
380# CHECK:      [0,0]     DeeeeeER .   movl	(%rax), %esp
381# CHECK-NEXT: [0,1]     DeeeeeER .   movl	(%rcx), %ebp
382# CHECK-NEXT: [0,2]     D==eeeeeER   movl	(%rdx), %esi
383# CHECK-NEXT: [0,3]     D==eeeeeER   movl	(%rbx), %edi
384
385# CHECK:      Average Wait times (based on the timeline view):
386# CHECK-NEXT: [0]: Executions
387# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
388# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
389# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
390
391# CHECK:            [0]    [1]    [2]    [3]
392# CHECK-NEXT: 0.     1     1.0    1.0    0.0       movl	(%rax), %esp
393# CHECK-NEXT: 1.     1     1.0    1.0    0.0       movl	(%rcx), %ebp
394# CHECK-NEXT: 2.     1     3.0    3.0    0.0       movl	(%rdx), %esi
395# CHECK-NEXT: 3.     1     3.0    3.0    0.0       movl	(%rbx), %edi
396# CHECK-NEXT:        1     2.0    2.0    0.0       <total>
397
398# CHECK:      [3] Code Region
399
400# CHECK:      Iterations:        100
401# CHECK-NEXT: Instructions:      400
402# CHECK-NEXT: Total Cycles:      406
403# CHECK-NEXT: Total uOps:        400
404
405# CHECK:      Dispatch Width:    4
406# CHECK-NEXT: uOps Per Cycle:    0.99
407# CHECK-NEXT: IPC:               0.99
408# CHECK-NEXT: Block RThroughput: 4.0
409
410# CHECK:      Instruction Info:
411# CHECK-NEXT: [1]: #uOps
412# CHECK-NEXT: [2]: Latency
413# CHECK-NEXT: [3]: RThroughput
414# CHECK-NEXT: [4]: MayLoad
415# CHECK-NEXT: [5]: MayStore
416# CHECK-NEXT: [6]: HasSideEffects (U)
417
418# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
419# CHECK-NEXT:  1      5     1.00    *                   movq	(%rax), %rsp
420# CHECK-NEXT:  1      5     1.00    *                   movq	(%rcx), %rbp
421# CHECK-NEXT:  1      5     1.00    *                   movq	(%rdx), %rsi
422# CHECK-NEXT:  1      5     1.00    *                   movq	(%rbx), %rdi
423
424# CHECK:      Dynamic Dispatch Stall Cycles:
425# CHECK-NEXT: RAT     - Register unavailable:                      0
426# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
427# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
428# CHECK-NEXT: LQ      - Load queue full:                           354  (87.2%)
429# CHECK-NEXT: SQ      - Store queue full:                          0
430# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
431# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
432
433# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
434# CHECK-NEXT: [# dispatched], [# cycles]
435# CHECK-NEXT:  0,              217  (53.4%)
436# CHECK-NEXT:  2,              178  (43.8%)
437# CHECK-NEXT:  4,              11  (2.7%)
438
439# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
440# CHECK-NEXT: [# issued], [# cycles]
441# CHECK-NEXT:  0,          206  (50.7%)
442# CHECK-NEXT:  2,          200  (49.3%)
443
444# CHECK:      Scheduler's queue usage:
445# CHECK-NEXT: [1] Resource name.
446# CHECK-NEXT: [2] Average number of used buffer entries.
447# CHECK-NEXT: [3] Maximum number of used buffer entries.
448# CHECK-NEXT: [4] Total number of buffer entries.
449
450# CHECK:       [1]            [2]        [3]        [4]
451# CHECK-NEXT: PdEX             31         34         40
452# CHECK-NEXT: PdFPU            0          0          64
453# CHECK-NEXT: PdLoad           36         40         40
454# CHECK-NEXT: PdStore          0          0          24
455
456# CHECK:      Resources:
457# CHECK-NEXT: [0.0] - PdAGLU01
458# CHECK-NEXT: [0.1] - PdAGLU01
459# CHECK-NEXT: [1]   - PdBranch
460# CHECK-NEXT: [2]   - PdCount
461# CHECK-NEXT: [3]   - PdDiv
462# CHECK-NEXT: [4]   - PdEX0
463# CHECK-NEXT: [5]   - PdEX1
464# CHECK-NEXT: [6]   - PdFPCVT
465# CHECK-NEXT: [7.0] - PdFPFMA
466# CHECK-NEXT: [7.1] - PdFPFMA
467# CHECK-NEXT: [8.0] - PdFPMAL
468# CHECK-NEXT: [8.1] - PdFPMAL
469# CHECK-NEXT: [9]   - PdFPMMA
470# CHECK-NEXT: [10]  - PdFPSTO
471# CHECK-NEXT: [11]  - PdFPU0
472# CHECK-NEXT: [12]  - PdFPU1
473# CHECK-NEXT: [13]  - PdFPU2
474# CHECK-NEXT: [14]  - PdFPU3
475# CHECK-NEXT: [15]  - PdFPXBR
476# CHECK-NEXT: [16.0] - PdLoad
477# CHECK-NEXT: [16.1] - PdLoad
478# CHECK-NEXT: [17]  - PdMul
479# CHECK-NEXT: [18]  - PdStore
480
481# CHECK:      Resource pressure per iteration:
482# 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]
483# CHECK-NEXT: 4.00   4.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   4.00    -      -
484
485# CHECK:      Resource pressure by instruction:
486# 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:
487# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movq	(%rax), %rsp
488# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movq	(%rcx), %rbp
489# CHECK-NEXT:  -     2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -     movq	(%rdx), %rsi
490# CHECK-NEXT: 2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -      -      -     movq	(%rbx), %rdi
491
492# CHECK:      Timeline view:
493# CHECK-NEXT: Index     0123456789
494
495# CHECK:      [0,0]     DeeeeeER .   movq	(%rax), %rsp
496# CHECK-NEXT: [0,1]     DeeeeeER .   movq	(%rcx), %rbp
497# CHECK-NEXT: [0,2]     D==eeeeeER   movq	(%rdx), %rsi
498# CHECK-NEXT: [0,3]     D==eeeeeER   movq	(%rbx), %rdi
499
500# CHECK:      Average Wait times (based on the timeline view):
501# CHECK-NEXT: [0]: Executions
502# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
503# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
504# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
505
506# CHECK:            [0]    [1]    [2]    [3]
507# CHECK-NEXT: 0.     1     1.0    1.0    0.0       movq	(%rax), %rsp
508# CHECK-NEXT: 1.     1     1.0    1.0    0.0       movq	(%rcx), %rbp
509# CHECK-NEXT: 2.     1     3.0    3.0    0.0       movq	(%rdx), %rsi
510# CHECK-NEXT: 3.     1     3.0    3.0    0.0       movq	(%rbx), %rdi
511# CHECK-NEXT:        1     2.0    2.0    0.0       <total>
512
513# CHECK:      [4] Code Region
514
515# CHECK:      Iterations:        100
516# CHECK-NEXT: Instructions:      400
517# CHECK-NEXT: Total Cycles:      605
518# CHECK-NEXT: Total uOps:        400
519
520# CHECK:      Dispatch Width:    4
521# CHECK-NEXT: uOps Per Cycle:    0.66
522# CHECK-NEXT: IPC:               0.66
523# CHECK-NEXT: Block RThroughput: 6.0
524
525# CHECK:      Instruction Info:
526# CHECK-NEXT: [1]: #uOps
527# CHECK-NEXT: [2]: Latency
528# CHECK-NEXT: [3]: RThroughput
529# CHECK-NEXT: [4]: MayLoad
530# CHECK-NEXT: [5]: MayStore
531# CHECK-NEXT: [6]: HasSideEffects (U)
532
533# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
534# CHECK-NEXT:  1      5     1.50    *                   movd	(%rax), %mm0
535# CHECK-NEXT:  1      5     1.50    *                   movd	(%rcx), %mm1
536# CHECK-NEXT:  1      5     1.50    *                   movd	(%rdx), %mm2
537# CHECK-NEXT:  1      5     1.50    *                   movd	(%rbx), %mm3
538
539# CHECK:      Dynamic Dispatch Stall Cycles:
540# CHECK-NEXT: RAT     - Register unavailable:                      0
541# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
542# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
543# CHECK-NEXT: LQ      - Load queue full:                           533  (88.1%)
544# CHECK-NEXT: SQ      - Store queue full:                          0
545# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
546# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
547
548# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
549# CHECK-NEXT: [# dispatched], [# cycles]
550# CHECK-NEXT:  0,              416  (68.8%)
551# CHECK-NEXT:  2,              178  (29.4%)
552# CHECK-NEXT:  4,              11  (1.8%)
553
554# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
555# CHECK-NEXT: [# issued], [# cycles]
556# CHECK-NEXT:  0,          405  (66.9%)
557# CHECK-NEXT:  2,          200  (33.1%)
558
559# CHECK:      Scheduler's queue usage:
560# CHECK-NEXT: [1] Resource name.
561# CHECK-NEXT: [2] Average number of used buffer entries.
562# CHECK-NEXT: [3] Maximum number of used buffer entries.
563# CHECK-NEXT: [4] Total number of buffer entries.
564
565# CHECK:       [1]            [2]        [3]        [4]
566# CHECK-NEXT: PdEX             33         36         40
567# CHECK-NEXT: PdFPU            33         36         64
568# CHECK-NEXT: PdLoad           37         40         40
569# CHECK-NEXT: PdStore          0          0          24
570
571# CHECK:      Resources:
572# CHECK-NEXT: [0.0] - PdAGLU01
573# CHECK-NEXT: [0.1] - PdAGLU01
574# CHECK-NEXT: [1]   - PdBranch
575# CHECK-NEXT: [2]   - PdCount
576# CHECK-NEXT: [3]   - PdDiv
577# CHECK-NEXT: [4]   - PdEX0
578# CHECK-NEXT: [5]   - PdEX1
579# CHECK-NEXT: [6]   - PdFPCVT
580# CHECK-NEXT: [7.0] - PdFPFMA
581# CHECK-NEXT: [7.1] - PdFPFMA
582# CHECK-NEXT: [8.0] - PdFPMAL
583# CHECK-NEXT: [8.1] - PdFPMAL
584# CHECK-NEXT: [9]   - PdFPMMA
585# CHECK-NEXT: [10]  - PdFPSTO
586# CHECK-NEXT: [11]  - PdFPU0
587# CHECK-NEXT: [12]  - PdFPU1
588# CHECK-NEXT: [13]  - PdFPU2
589# CHECK-NEXT: [14]  - PdFPU3
590# CHECK-NEXT: [15]  - PdFPXBR
591# CHECK-NEXT: [16.0] - PdLoad
592# CHECK-NEXT: [16.1] - PdLoad
593# CHECK-NEXT: [17]  - PdMul
594# CHECK-NEXT: [18]  - PdStore
595
596# CHECK:      Resource pressure per iteration:
597# 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]
598# CHECK-NEXT: 6.00   6.00    -      -      -      -      -      -      -      -     6.00   6.00    -      -     2.00   2.00    -      -      -     6.00   6.00    -      -
599
600# CHECK:      Resource pressure by instruction:
601# 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:
602# CHECK-NEXT:  -     3.00    -      -      -      -      -      -      -      -      -     3.00    -      -      -     1.00    -      -      -      -     3.00    -      -     movd	(%rax), %mm0
603# CHECK-NEXT: 3.00    -      -      -      -      -      -      -      -      -     3.00    -      -      -     1.00    -      -      -      -     3.00    -      -      -     movd	(%rcx), %mm1
604# CHECK-NEXT:  -     3.00    -      -      -      -      -      -      -      -      -     3.00    -      -      -     1.00    -      -      -      -     3.00    -      -     movd	(%rdx), %mm2
605# CHECK-NEXT: 3.00    -      -      -      -      -      -      -      -      -     3.00    -      -      -     1.00    -      -      -      -     3.00    -      -      -     movd	(%rbx), %mm3
606
607# CHECK:      Timeline view:
608# CHECK-NEXT:                     0
609# CHECK-NEXT: Index     0123456789
610
611# CHECK:      [0,0]     DeeeeeER  .   movd	(%rax), %mm0
612# CHECK-NEXT: [0,1]     DeeeeeER  .   movd	(%rcx), %mm1
613# CHECK-NEXT: [0,2]     D===eeeeeER   movd	(%rdx), %mm2
614# CHECK-NEXT: [0,3]     D===eeeeeER   movd	(%rbx), %mm3
615
616# CHECK:      Average Wait times (based on the timeline view):
617# CHECK-NEXT: [0]: Executions
618# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
619# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
620# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
621
622# CHECK:            [0]    [1]    [2]    [3]
623# CHECK-NEXT: 0.     1     1.0    1.0    0.0       movd	(%rax), %mm0
624# CHECK-NEXT: 1.     1     1.0    1.0    0.0       movd	(%rcx), %mm1
625# CHECK-NEXT: 2.     1     4.0    4.0    0.0       movd	(%rdx), %mm2
626# CHECK-NEXT: 3.     1     4.0    4.0    0.0       movd	(%rbx), %mm3
627# CHECK-NEXT:        1     2.5    2.5    0.0       <total>
628
629# CHECK:      [5] Code Region
630
631# CHECK:      Iterations:        100
632# CHECK-NEXT: Instructions:      400
633# CHECK-NEXT: Total Cycles:      605
634# CHECK-NEXT: Total uOps:        400
635
636# CHECK:      Dispatch Width:    4
637# CHECK-NEXT: uOps Per Cycle:    0.66
638# CHECK-NEXT: IPC:               0.66
639# CHECK-NEXT: Block RThroughput: 6.0
640
641# CHECK:      Instruction Info:
642# CHECK-NEXT: [1]: #uOps
643# CHECK-NEXT: [2]: Latency
644# CHECK-NEXT: [3]: RThroughput
645# CHECK-NEXT: [4]: MayLoad
646# CHECK-NEXT: [5]: MayStore
647# CHECK-NEXT: [6]: HasSideEffects (U)
648
649# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
650# CHECK-NEXT:  1      5     1.50    *                   movaps	(%rax), %xmm0
651# CHECK-NEXT:  1      5     1.50    *                   movaps	(%rcx), %xmm1
652# CHECK-NEXT:  1      5     1.50    *                   movaps	(%rdx), %xmm2
653# CHECK-NEXT:  1      5     1.50    *                   movaps	(%rbx), %xmm3
654
655# CHECK:      Dynamic Dispatch Stall Cycles:
656# CHECK-NEXT: RAT     - Register unavailable:                      0
657# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
658# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
659# CHECK-NEXT: LQ      - Load queue full:                           533  (88.1%)
660# CHECK-NEXT: SQ      - Store queue full:                          0
661# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
662# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
663
664# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
665# CHECK-NEXT: [# dispatched], [# cycles]
666# CHECK-NEXT:  0,              416  (68.8%)
667# CHECK-NEXT:  2,              178  (29.4%)
668# CHECK-NEXT:  4,              11  (1.8%)
669
670# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
671# CHECK-NEXT: [# issued], [# cycles]
672# CHECK-NEXT:  0,          405  (66.9%)
673# CHECK-NEXT:  2,          200  (33.1%)
674
675# CHECK:      Scheduler's queue usage:
676# CHECK-NEXT: [1] Resource name.
677# CHECK-NEXT: [2] Average number of used buffer entries.
678# CHECK-NEXT: [3] Maximum number of used buffer entries.
679# CHECK-NEXT: [4] Total number of buffer entries.
680
681# CHECK:       [1]            [2]        [3]        [4]
682# CHECK-NEXT: PdEX             33         36         40
683# CHECK-NEXT: PdFPU            33         36         64
684# CHECK-NEXT: PdLoad           37         40         40
685# CHECK-NEXT: PdStore          0          0          24
686
687# CHECK:      Resources:
688# CHECK-NEXT: [0.0] - PdAGLU01
689# CHECK-NEXT: [0.1] - PdAGLU01
690# CHECK-NEXT: [1]   - PdBranch
691# CHECK-NEXT: [2]   - PdCount
692# CHECK-NEXT: [3]   - PdDiv
693# CHECK-NEXT: [4]   - PdEX0
694# CHECK-NEXT: [5]   - PdEX1
695# CHECK-NEXT: [6]   - PdFPCVT
696# CHECK-NEXT: [7.0] - PdFPFMA
697# CHECK-NEXT: [7.1] - PdFPFMA
698# CHECK-NEXT: [8.0] - PdFPMAL
699# CHECK-NEXT: [8.1] - PdFPMAL
700# CHECK-NEXT: [9]   - PdFPMMA
701# CHECK-NEXT: [10]  - PdFPSTO
702# CHECK-NEXT: [11]  - PdFPU0
703# CHECK-NEXT: [12]  - PdFPU1
704# CHECK-NEXT: [13]  - PdFPU2
705# CHECK-NEXT: [14]  - PdFPU3
706# CHECK-NEXT: [15]  - PdFPXBR
707# CHECK-NEXT: [16.0] - PdLoad
708# CHECK-NEXT: [16.1] - PdLoad
709# CHECK-NEXT: [17]  - PdMul
710# CHECK-NEXT: [18]  - PdStore
711
712# CHECK:      Resource pressure per iteration:
713# 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]
714# CHECK-NEXT: 6.00   6.00    -      -      -      -      -      -     6.00   6.00    -      -      -      -     2.00   2.00    -      -      -     6.00   6.00    -      -
715
716# CHECK:      Resource pressure by instruction:
717# 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:
718# CHECK-NEXT:  -     3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -     movaps	(%rax), %xmm0
719# CHECK-NEXT: 3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -      -     movaps	(%rcx), %xmm1
720# CHECK-NEXT:  -     3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -     movaps	(%rdx), %xmm2
721# CHECK-NEXT: 3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -      -     movaps	(%rbx), %xmm3
722
723# CHECK:      Timeline view:
724# CHECK-NEXT:                     0
725# CHECK-NEXT: Index     0123456789
726
727# CHECK:      [0,0]     DeeeeeER  .   movaps	(%rax), %xmm0
728# CHECK-NEXT: [0,1]     DeeeeeER  .   movaps	(%rcx), %xmm1
729# CHECK-NEXT: [0,2]     D===eeeeeER   movaps	(%rdx), %xmm2
730# CHECK-NEXT: [0,3]     D===eeeeeER   movaps	(%rbx), %xmm3
731
732# CHECK:      Average Wait times (based on the timeline view):
733# CHECK-NEXT: [0]: Executions
734# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
735# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
736# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
737
738# CHECK:            [0]    [1]    [2]    [3]
739# CHECK-NEXT: 0.     1     1.0    1.0    0.0       movaps	(%rax), %xmm0
740# CHECK-NEXT: 1.     1     1.0    1.0    0.0       movaps	(%rcx), %xmm1
741# CHECK-NEXT: 2.     1     4.0    4.0    0.0       movaps	(%rdx), %xmm2
742# CHECK-NEXT: 3.     1     4.0    4.0    0.0       movaps	(%rbx), %xmm3
743# CHECK-NEXT:        1     2.5    2.5    0.0       <total>
744
745# CHECK:      [6] Code Region
746
747# CHECK:      Iterations:        100
748# CHECK-NEXT: Instructions:      400
749# CHECK-NEXT: Total Cycles:      605
750# CHECK-NEXT: Total uOps:        800
751
752# CHECK:      Dispatch Width:    4
753# CHECK-NEXT: uOps Per Cycle:    1.32
754# CHECK-NEXT: IPC:               0.66
755# CHECK-NEXT: Block RThroughput: 6.0
756
757# CHECK:      Instruction Info:
758# CHECK-NEXT: [1]: #uOps
759# CHECK-NEXT: [2]: Latency
760# CHECK-NEXT: [3]: RThroughput
761# CHECK-NEXT: [4]: MayLoad
762# CHECK-NEXT: [5]: MayStore
763# CHECK-NEXT: [6]: HasSideEffects (U)
764
765# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
766# CHECK-NEXT:  2      5     1.50    *                   vmovaps	(%rax), %ymm0
767# CHECK-NEXT:  2      5     1.50    *                   vmovaps	(%rcx), %ymm1
768# CHECK-NEXT:  2      5     1.50    *                   vmovaps	(%rdx), %ymm2
769# CHECK-NEXT:  2      5     1.50    *                   vmovaps	(%rbx), %ymm3
770
771# CHECK:      Dynamic Dispatch Stall Cycles:
772# CHECK-NEXT: RAT     - Register unavailable:                      0
773# CHECK-NEXT: RCU     - Retire tokens unavailable:                 0
774# CHECK-NEXT: SCHEDQ  - Scheduler full:                            0
775# CHECK-NEXT: LQ      - Load queue full:                           345  (57.0%)
776# CHECK-NEXT: SQ      - Store queue full:                          0
777# CHECK-NEXT: GROUP   - Static restrictions on the dispatch group: 0
778# CHECK-NEXT: USH     - Uncategorised Structural Hazard:           0
779
780# CHECK:      Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
781# CHECK-NEXT: [# dispatched], [# cycles]
782# CHECK-NEXT:  0,              405  (66.9%)
783# CHECK-NEXT:  4,              200  (33.1%)
784
785# CHECK:      Schedulers - number of cycles where we saw N micro opcodes issued:
786# CHECK-NEXT: [# issued], [# cycles]
787# CHECK-NEXT:  0,          405  (66.9%)
788# CHECK-NEXT:  4,          200  (33.1%)
789
790# CHECK:      Scheduler's queue usage:
791# CHECK-NEXT: [1] Resource name.
792# CHECK-NEXT: [2] Average number of used buffer entries.
793# CHECK-NEXT: [3] Maximum number of used buffer entries.
794# CHECK-NEXT: [4] Total number of buffer entries.
795
796# CHECK:       [1]            [2]        [3]        [4]
797# CHECK-NEXT: PdEX             33         36         40
798# CHECK-NEXT: PdFPU            33         36         64
799# CHECK-NEXT: PdLoad           36         40         40
800# CHECK-NEXT: PdStore          0          0          24
801
802# CHECK:      Resources:
803# CHECK-NEXT: [0.0] - PdAGLU01
804# CHECK-NEXT: [0.1] - PdAGLU01
805# CHECK-NEXT: [1]   - PdBranch
806# CHECK-NEXT: [2]   - PdCount
807# CHECK-NEXT: [3]   - PdDiv
808# CHECK-NEXT: [4]   - PdEX0
809# CHECK-NEXT: [5]   - PdEX1
810# CHECK-NEXT: [6]   - PdFPCVT
811# CHECK-NEXT: [7.0] - PdFPFMA
812# CHECK-NEXT: [7.1] - PdFPFMA
813# CHECK-NEXT: [8.0] - PdFPMAL
814# CHECK-NEXT: [8.1] - PdFPMAL
815# CHECK-NEXT: [9]   - PdFPMMA
816# CHECK-NEXT: [10]  - PdFPSTO
817# CHECK-NEXT: [11]  - PdFPU0
818# CHECK-NEXT: [12]  - PdFPU1
819# CHECK-NEXT: [13]  - PdFPU2
820# CHECK-NEXT: [14]  - PdFPU3
821# CHECK-NEXT: [15]  - PdFPXBR
822# CHECK-NEXT: [16.0] - PdLoad
823# CHECK-NEXT: [16.1] - PdLoad
824# CHECK-NEXT: [17]  - PdMul
825# CHECK-NEXT: [18]  - PdStore
826
827# CHECK:      Resource pressure per iteration:
828# 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]
829# CHECK-NEXT: 6.00   6.00    -      -      -      -      -      -     6.00   6.00    -      -      -      -     2.00   2.00    -      -      -     6.00   6.00    -      -
830
831# CHECK:      Resource pressure by instruction:
832# 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:
833# CHECK-NEXT:  -     3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -     vmovaps	(%rax), %ymm0
834# CHECK-NEXT: 3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -      -     vmovaps	(%rcx), %ymm1
835# CHECK-NEXT:  -     3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -     vmovaps	(%rdx), %ymm2
836# CHECK-NEXT: 3.00    -      -      -      -      -      -      -     3.00    -      -      -      -      -     1.00    -      -      -      -     3.00    -      -      -     vmovaps	(%rbx), %ymm3
837
838# CHECK:      Timeline view:
839# CHECK-NEXT:                     0
840# CHECK-NEXT: Index     0123456789
841
842# CHECK:      [0,0]     DeeeeeER  .   vmovaps	(%rax), %ymm0
843# CHECK-NEXT: [0,1]     DeeeeeER  .   vmovaps	(%rcx), %ymm1
844# CHECK-NEXT: [0,2]     .D==eeeeeER   vmovaps	(%rdx), %ymm2
845# CHECK-NEXT: [0,3]     .D==eeeeeER   vmovaps	(%rbx), %ymm3
846
847# CHECK:      Average Wait times (based on the timeline view):
848# CHECK-NEXT: [0]: Executions
849# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
850# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
851# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
852
853# CHECK:            [0]    [1]    [2]    [3]
854# CHECK-NEXT: 0.     1     1.0    1.0    0.0       vmovaps	(%rax), %ymm0
855# CHECK-NEXT: 1.     1     1.0    1.0    0.0       vmovaps	(%rcx), %ymm1
856# CHECK-NEXT: 2.     1     3.0    3.0    0.0       vmovaps	(%rdx), %ymm2
857# CHECK-NEXT: 3.     1     3.0    3.0    0.0       vmovaps	(%rbx), %ymm3
858# CHECK-NEXT:        1     2.0    2.0    0.0       <total>
859