1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver3 -timeline -timeline-max-iterations=2 -iterations=1000 < %s | FileCheck %s
11 mulxq
%rax
, %rax
, %rax
15 mulxl
%eax
, %eax
, %eax
21 mulxq
%rax
, %rax
, %rax
27 mulxl
%eax
, %eax
, %eax
33 mulxl
%eax
, %eax
, %eax
38 # CHECK: [0] Code Region
40 # CHECK: Iterations: 1000
41 # CHECK-NEXT: Instructions: 2000
42 # CHECK-NEXT: Total Cycles: 1259
43 # CHECK-NEXT: Total uOps: 3000
45 # CHECK: Dispatch Width: 6
46 # CHECK-NEXT: uOps Per Cycle: 2.38
47 # CHECK-NEXT: IPC: 1.59
48 # CHECK-NEXT: Block RThroughput: 1.0
50 # CHECK: Instruction Info:
51 # CHECK-NEXT: [1]: #uOps
52 # CHECK-NEXT: [2]: Latency
53 # CHECK-NEXT: [3]: RThroughput
54 # CHECK-NEXT: [4]: MayLoad
55 # CHECK-NEXT: [5]: MayStore
56 # CHECK-NEXT: [6]: HasSideEffects (U)
58 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
59 # CHECK-NEXT: 1 1 1.00 sbbl %eax, %eax
60 # CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax
63 # CHECK-NEXT: [0] - Zn3AGU0
64 # CHECK-NEXT: [1] - Zn3AGU1
65 # CHECK-NEXT: [2] - Zn3AGU2
66 # CHECK-NEXT: [3] - Zn3ALU0
67 # CHECK-NEXT: [4] - Zn3ALU1
68 # CHECK-NEXT: [5] - Zn3ALU2
69 # CHECK-NEXT: [6] - Zn3ALU3
70 # CHECK-NEXT: [7] - Zn3BRU1
71 # CHECK-NEXT: [8] - Zn3FP0
72 # CHECK-NEXT: [9] - Zn3FP1
73 # CHECK-NEXT: [10] - Zn3FP2
74 # CHECK-NEXT: [11] - Zn3FP3
75 # CHECK-NEXT: [12.0] - Zn3FP45
76 # CHECK-NEXT: [12.1] - Zn3FP45
77 # CHECK-NEXT: [13] - Zn3FPSt
78 # CHECK-NEXT: [14.0] - Zn3LSU
79 # CHECK-NEXT: [14.1] - Zn3LSU
80 # CHECK-NEXT: [14.2] - Zn3LSU
81 # CHECK-NEXT: [15.0] - Zn3Load
82 # CHECK-NEXT: [15.1] - Zn3Load
83 # CHECK-NEXT: [15.2] - Zn3Load
84 # CHECK-NEXT: [16.0] - Zn3Store
85 # CHECK-NEXT: [16.1] - Zn3Store
87 # CHECK: Resource pressure per iteration:
88 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
89 # CHECK-NEXT: - - - 1.25 1.25 1.25 1.25 - - - - - - - - - - - - - - - -
91 # CHECK: Resource pressure by instruction:
92 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
93 # CHECK-NEXT: - - - 1.25 0.25 1.25 1.25 - - - - - - - - - - - - - - - - sbbl %eax, %eax
94 # CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxl %eax, %eax, %eax
96 # CHECK: Timeline view:
97 # CHECK-NEXT: Index 012345678
99 # CHECK: [0,0] DeER . . sbbl %eax, %eax
100 # CHECK-NEXT: [0,1] D=eeeeER. mulxl %eax, %eax, %eax
101 # CHECK-NEXT: [1,0] D=eE---R. sbbl %eax, %eax
102 # CHECK-NEXT: [1,1] D==eeeeER mulxl %eax, %eax, %eax
104 # CHECK: Average Wait times (based on the timeline view):
105 # CHECK-NEXT: [0]: Executions
106 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
107 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
108 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
110 # CHECK: [0] [1] [2] [3]
111 # CHECK-NEXT: 0. 2 1.5 0.5 1.5 sbbl %eax, %eax
112 # CHECK-NEXT: 1. 2 2.5 0.0 0.0 mulxl %eax, %eax, %eax
113 # CHECK-NEXT: 2 2.0 0.3 0.8 <total>
115 # CHECK: [1] Code Region
117 # CHECK: Iterations: 1000
118 # CHECK-NEXT: Instructions: 2000
119 # CHECK-NEXT: Total Cycles: 1259
120 # CHECK-NEXT: Total uOps: 3000
122 # CHECK: Dispatch Width: 6
123 # CHECK-NEXT: uOps Per Cycle: 2.38
124 # CHECK-NEXT: IPC: 1.59
125 # CHECK-NEXT: Block RThroughput: 1.0
127 # CHECK: Instruction Info:
128 # CHECK-NEXT: [1]: #uOps
129 # CHECK-NEXT: [2]: Latency
130 # CHECK-NEXT: [3]: RThroughput
131 # CHECK-NEXT: [4]: MayLoad
132 # CHECK-NEXT: [5]: MayStore
133 # CHECK-NEXT: [6]: HasSideEffects (U)
135 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
136 # CHECK-NEXT: 1 1 1.00 sbbq %rax, %rax
137 # CHECK-NEXT: 2 4 1.00 mulxq %rax, %rax, %rax
140 # CHECK-NEXT: [0] - Zn3AGU0
141 # CHECK-NEXT: [1] - Zn3AGU1
142 # CHECK-NEXT: [2] - Zn3AGU2
143 # CHECK-NEXT: [3] - Zn3ALU0
144 # CHECK-NEXT: [4] - Zn3ALU1
145 # CHECK-NEXT: [5] - Zn3ALU2
146 # CHECK-NEXT: [6] - Zn3ALU3
147 # CHECK-NEXT: [7] - Zn3BRU1
148 # CHECK-NEXT: [8] - Zn3FP0
149 # CHECK-NEXT: [9] - Zn3FP1
150 # CHECK-NEXT: [10] - Zn3FP2
151 # CHECK-NEXT: [11] - Zn3FP3
152 # CHECK-NEXT: [12.0] - Zn3FP45
153 # CHECK-NEXT: [12.1] - Zn3FP45
154 # CHECK-NEXT: [13] - Zn3FPSt
155 # CHECK-NEXT: [14.0] - Zn3LSU
156 # CHECK-NEXT: [14.1] - Zn3LSU
157 # CHECK-NEXT: [14.2] - Zn3LSU
158 # CHECK-NEXT: [15.0] - Zn3Load
159 # CHECK-NEXT: [15.1] - Zn3Load
160 # CHECK-NEXT: [15.2] - Zn3Load
161 # CHECK-NEXT: [16.0] - Zn3Store
162 # CHECK-NEXT: [16.1] - Zn3Store
164 # CHECK: Resource pressure per iteration:
165 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
166 # CHECK-NEXT: - - - 1.25 1.25 1.25 1.25 - - - - - - - - - - - - - - - -
168 # CHECK: Resource pressure by instruction:
169 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
170 # CHECK-NEXT: - - - 1.25 0.25 1.25 1.25 - - - - - - - - - - - - - - - - sbbq %rax, %rax
171 # CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxq %rax, %rax, %rax
173 # CHECK: Timeline view:
174 # CHECK-NEXT: Index 012345678
176 # CHECK: [0,0] DeER . . sbbq %rax, %rax
177 # CHECK-NEXT: [0,1] D=eeeeER. mulxq %rax, %rax, %rax
178 # CHECK-NEXT: [1,0] D=eE---R. sbbq %rax, %rax
179 # CHECK-NEXT: [1,1] D==eeeeER mulxq %rax, %rax, %rax
181 # CHECK: Average Wait times (based on the timeline view):
182 # CHECK-NEXT: [0]: Executions
183 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
184 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
185 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
187 # CHECK: [0] [1] [2] [3]
188 # CHECK-NEXT: 0. 2 1.5 0.5 1.5 sbbq %rax, %rax
189 # CHECK-NEXT: 1. 2 2.5 0.0 0.0 mulxq %rax, %rax, %rax
190 # CHECK-NEXT: 2 2.0 0.3 0.8 <total>
192 # CHECK: [2] Code Region
194 # CHECK: Iterations: 1000
195 # CHECK-NEXT: Instructions: 3000
196 # CHECK-NEXT: Total Cycles: 4004
197 # CHECK-NEXT: Total uOps: 4000
199 # CHECK: Dispatch Width: 6
200 # CHECK-NEXT: uOps Per Cycle: 1.00
201 # CHECK-NEXT: IPC: 0.75
202 # CHECK-NEXT: Block RThroughput: 1.0
204 # CHECK: Instruction Info:
205 # CHECK-NEXT: [1]: #uOps
206 # CHECK-NEXT: [2]: Latency
207 # CHECK-NEXT: [3]: RThroughput
208 # CHECK-NEXT: [4]: MayLoad
209 # CHECK-NEXT: [5]: MayStore
210 # CHECK-NEXT: [6]: HasSideEffects (U)
212 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
213 # CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax
214 # CHECK-NEXT: 1 0 0.17 cmpl %eax, %eax
215 # CHECK-NEXT: 1 1 0.50 cmovael %eax, %ecx
218 # CHECK-NEXT: [0] - Zn3AGU0
219 # CHECK-NEXT: [1] - Zn3AGU1
220 # CHECK-NEXT: [2] - Zn3AGU2
221 # CHECK-NEXT: [3] - Zn3ALU0
222 # CHECK-NEXT: [4] - Zn3ALU1
223 # CHECK-NEXT: [5] - Zn3ALU2
224 # CHECK-NEXT: [6] - Zn3ALU3
225 # CHECK-NEXT: [7] - Zn3BRU1
226 # CHECK-NEXT: [8] - Zn3FP0
227 # CHECK-NEXT: [9] - Zn3FP1
228 # CHECK-NEXT: [10] - Zn3FP2
229 # CHECK-NEXT: [11] - Zn3FP3
230 # CHECK-NEXT: [12.0] - Zn3FP45
231 # CHECK-NEXT: [12.1] - Zn3FP45
232 # CHECK-NEXT: [13] - Zn3FPSt
233 # CHECK-NEXT: [14.0] - Zn3LSU
234 # CHECK-NEXT: [14.1] - Zn3LSU
235 # CHECK-NEXT: [14.2] - Zn3LSU
236 # CHECK-NEXT: [15.0] - Zn3Load
237 # CHECK-NEXT: [15.1] - Zn3Load
238 # CHECK-NEXT: [15.2] - Zn3Load
239 # CHECK-NEXT: [16.0] - Zn3Store
240 # CHECK-NEXT: [16.1] - Zn3Store
242 # CHECK: Resource pressure per iteration:
243 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
244 # CHECK-NEXT: - - - 0.50 1.00 - 0.50 - - - - - - - - - - - - - - - -
246 # CHECK: Resource pressure by instruction:
247 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
248 # CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxl %eax, %eax, %eax
249 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpl %eax, %eax
250 # CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %eax, %ecx
252 # CHECK: Timeline view:
254 # CHECK-NEXT: Index 0123456789
256 # CHECK: [0,0] DeeeeER .. mulxl %eax, %eax, %eax
257 # CHECK-NEXT: [0,1] D-----R .. cmpl %eax, %eax
258 # CHECK-NEXT: [0,2] D====eER .. cmovael %eax, %ecx
259 # CHECK-NEXT: [1,0] D====eeeeER. mulxl %eax, %eax, %eax
260 # CHECK-NEXT: [1,1] .D--------R. cmpl %eax, %eax
261 # CHECK-NEXT: [1,2] .D=======eER cmovael %eax, %ecx
263 # CHECK: Average Wait times (based on the timeline view):
264 # CHECK-NEXT: [0]: Executions
265 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
266 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
267 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
269 # CHECK: [0] [1] [2] [3]
270 # CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxl %eax, %eax, %eax
271 # CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpl %eax, %eax
272 # CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovael %eax, %ecx
273 # CHECK-NEXT: 2 3.2 0.2 2.2 <total>
275 # CHECK: [3] Code Region
277 # CHECK: Iterations: 1000
278 # CHECK-NEXT: Instructions: 3000
279 # CHECK-NEXT: Total Cycles: 4004
280 # CHECK-NEXT: Total uOps: 4000
282 # CHECK: Dispatch Width: 6
283 # CHECK-NEXT: uOps Per Cycle: 1.00
284 # CHECK-NEXT: IPC: 0.75
285 # CHECK-NEXT: Block RThroughput: 1.0
287 # CHECK: Instruction Info:
288 # CHECK-NEXT: [1]: #uOps
289 # CHECK-NEXT: [2]: Latency
290 # CHECK-NEXT: [3]: RThroughput
291 # CHECK-NEXT: [4]: MayLoad
292 # CHECK-NEXT: [5]: MayStore
293 # CHECK-NEXT: [6]: HasSideEffects (U)
295 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
296 # CHECK-NEXT: 2 4 1.00 mulxq %rax, %rax, %rax
297 # CHECK-NEXT: 1 0 0.17 cmpq %rax, %rax
298 # CHECK-NEXT: 1 1 0.50 cmovaeq %rax, %rcx
301 # CHECK-NEXT: [0] - Zn3AGU0
302 # CHECK-NEXT: [1] - Zn3AGU1
303 # CHECK-NEXT: [2] - Zn3AGU2
304 # CHECK-NEXT: [3] - Zn3ALU0
305 # CHECK-NEXT: [4] - Zn3ALU1
306 # CHECK-NEXT: [5] - Zn3ALU2
307 # CHECK-NEXT: [6] - Zn3ALU3
308 # CHECK-NEXT: [7] - Zn3BRU1
309 # CHECK-NEXT: [8] - Zn3FP0
310 # CHECK-NEXT: [9] - Zn3FP1
311 # CHECK-NEXT: [10] - Zn3FP2
312 # CHECK-NEXT: [11] - Zn3FP3
313 # CHECK-NEXT: [12.0] - Zn3FP45
314 # CHECK-NEXT: [12.1] - Zn3FP45
315 # CHECK-NEXT: [13] - Zn3FPSt
316 # CHECK-NEXT: [14.0] - Zn3LSU
317 # CHECK-NEXT: [14.1] - Zn3LSU
318 # CHECK-NEXT: [14.2] - Zn3LSU
319 # CHECK-NEXT: [15.0] - Zn3Load
320 # CHECK-NEXT: [15.1] - Zn3Load
321 # CHECK-NEXT: [15.2] - Zn3Load
322 # CHECK-NEXT: [16.0] - Zn3Store
323 # CHECK-NEXT: [16.1] - Zn3Store
325 # CHECK: Resource pressure per iteration:
326 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
327 # CHECK-NEXT: - - - 0.50 1.00 - 0.50 - - - - - - - - - - - - - - - -
329 # CHECK: Resource pressure by instruction:
330 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
331 # CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxq %rax, %rax, %rax
332 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpq %rax, %rax
333 # CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovaeq %rax, %rcx
335 # CHECK: Timeline view:
337 # CHECK-NEXT: Index 0123456789
339 # CHECK: [0,0] DeeeeER .. mulxq %rax, %rax, %rax
340 # CHECK-NEXT: [0,1] D-----R .. cmpq %rax, %rax
341 # CHECK-NEXT: [0,2] D====eER .. cmovaeq %rax, %rcx
342 # CHECK-NEXT: [1,0] D====eeeeER. mulxq %rax, %rax, %rax
343 # CHECK-NEXT: [1,1] .D--------R. cmpq %rax, %rax
344 # CHECK-NEXT: [1,2] .D=======eER cmovaeq %rax, %rcx
346 # CHECK: Average Wait times (based on the timeline view):
347 # CHECK-NEXT: [0]: Executions
348 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
349 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
350 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
352 # CHECK: [0] [1] [2] [3]
353 # CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxq %rax, %rax, %rax
354 # CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpq %rax, %rax
355 # CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovaeq %rax, %rcx
356 # CHECK-NEXT: 2 3.2 0.2 2.2 <total>
358 # CHECK: [4] Code Region
360 # CHECK: Iterations: 1000
361 # CHECK-NEXT: Instructions: 3000
362 # CHECK-NEXT: Total Cycles: 4004
363 # CHECK-NEXT: Total uOps: 4000
365 # CHECK: Dispatch Width: 6
366 # CHECK-NEXT: uOps Per Cycle: 1.00
367 # CHECK-NEXT: IPC: 0.75
368 # CHECK-NEXT: Block RThroughput: 1.0
370 # CHECK: Instruction Info:
371 # CHECK-NEXT: [1]: #uOps
372 # CHECK-NEXT: [2]: Latency
373 # CHECK-NEXT: [3]: RThroughput
374 # CHECK-NEXT: [4]: MayLoad
375 # CHECK-NEXT: [5]: MayStore
376 # CHECK-NEXT: [6]: HasSideEffects (U)
378 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
379 # CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax
380 # CHECK-NEXT: 1 0 0.17 cmpw %ax, %ax
381 # CHECK-NEXT: 1 1 0.50 cmovael %eax, %ecx
384 # CHECK-NEXT: [0] - Zn3AGU0
385 # CHECK-NEXT: [1] - Zn3AGU1
386 # CHECK-NEXT: [2] - Zn3AGU2
387 # CHECK-NEXT: [3] - Zn3ALU0
388 # CHECK-NEXT: [4] - Zn3ALU1
389 # CHECK-NEXT: [5] - Zn3ALU2
390 # CHECK-NEXT: [6] - Zn3ALU3
391 # CHECK-NEXT: [7] - Zn3BRU1
392 # CHECK-NEXT: [8] - Zn3FP0
393 # CHECK-NEXT: [9] - Zn3FP1
394 # CHECK-NEXT: [10] - Zn3FP2
395 # CHECK-NEXT: [11] - Zn3FP3
396 # CHECK-NEXT: [12.0] - Zn3FP45
397 # CHECK-NEXT: [12.1] - Zn3FP45
398 # CHECK-NEXT: [13] - Zn3FPSt
399 # CHECK-NEXT: [14.0] - Zn3LSU
400 # CHECK-NEXT: [14.1] - Zn3LSU
401 # CHECK-NEXT: [14.2] - Zn3LSU
402 # CHECK-NEXT: [15.0] - Zn3Load
403 # CHECK-NEXT: [15.1] - Zn3Load
404 # CHECK-NEXT: [15.2] - Zn3Load
405 # CHECK-NEXT: [16.0] - Zn3Store
406 # CHECK-NEXT: [16.1] - Zn3Store
408 # CHECK: Resource pressure per iteration:
409 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
410 # CHECK-NEXT: - - - 0.50 1.00 - 0.50 - - - - - - - - - - - - - - - -
412 # CHECK: Resource pressure by instruction:
413 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
414 # CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxl %eax, %eax, %eax
415 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpw %ax, %ax
416 # CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %eax, %ecx
418 # CHECK: Timeline view:
420 # CHECK-NEXT: Index 0123456789
422 # CHECK: [0,0] DeeeeER .. mulxl %eax, %eax, %eax
423 # CHECK-NEXT: [0,1] D-----R .. cmpw %ax, %ax
424 # CHECK-NEXT: [0,2] D====eER .. cmovael %eax, %ecx
425 # CHECK-NEXT: [1,0] D====eeeeER. mulxl %eax, %eax, %eax
426 # CHECK-NEXT: [1,1] .D--------R. cmpw %ax, %ax
427 # CHECK-NEXT: [1,2] .D=======eER cmovael %eax, %ecx
429 # CHECK: Average Wait times (based on the timeline view):
430 # CHECK-NEXT: [0]: Executions
431 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
432 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
433 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
435 # CHECK: [0] [1] [2] [3]
436 # CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxl %eax, %eax, %eax
437 # CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpw %ax, %ax
438 # CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovael %eax, %ecx
439 # CHECK-NEXT: 2 3.2 0.2 2.2 <total>
441 # CHECK: [5] Code Region
443 # CHECK: Iterations: 1000
444 # CHECK-NEXT: Instructions: 3000
445 # CHECK-NEXT: Total Cycles: 4004
446 # CHECK-NEXT: Total uOps: 4000
448 # CHECK: Dispatch Width: 6
449 # CHECK-NEXT: uOps Per Cycle: 1.00
450 # CHECK-NEXT: IPC: 0.75
451 # CHECK-NEXT: Block RThroughput: 1.0
453 # CHECK: Instruction Info:
454 # CHECK-NEXT: [1]: #uOps
455 # CHECK-NEXT: [2]: Latency
456 # CHECK-NEXT: [3]: RThroughput
457 # CHECK-NEXT: [4]: MayLoad
458 # CHECK-NEXT: [5]: MayStore
459 # CHECK-NEXT: [6]: HasSideEffects (U)
461 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
462 # CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax
463 # CHECK-NEXT: 1 0 0.17 cmpb %al, %al
464 # CHECK-NEXT: 1 1 0.50 cmovael %eax, %ecx
467 # CHECK-NEXT: [0] - Zn3AGU0
468 # CHECK-NEXT: [1] - Zn3AGU1
469 # CHECK-NEXT: [2] - Zn3AGU2
470 # CHECK-NEXT: [3] - Zn3ALU0
471 # CHECK-NEXT: [4] - Zn3ALU1
472 # CHECK-NEXT: [5] - Zn3ALU2
473 # CHECK-NEXT: [6] - Zn3ALU3
474 # CHECK-NEXT: [7] - Zn3BRU1
475 # CHECK-NEXT: [8] - Zn3FP0
476 # CHECK-NEXT: [9] - Zn3FP1
477 # CHECK-NEXT: [10] - Zn3FP2
478 # CHECK-NEXT: [11] - Zn3FP3
479 # CHECK-NEXT: [12.0] - Zn3FP45
480 # CHECK-NEXT: [12.1] - Zn3FP45
481 # CHECK-NEXT: [13] - Zn3FPSt
482 # CHECK-NEXT: [14.0] - Zn3LSU
483 # CHECK-NEXT: [14.1] - Zn3LSU
484 # CHECK-NEXT: [14.2] - Zn3LSU
485 # CHECK-NEXT: [15.0] - Zn3Load
486 # CHECK-NEXT: [15.1] - Zn3Load
487 # CHECK-NEXT: [15.2] - Zn3Load
488 # CHECK-NEXT: [16.0] - Zn3Store
489 # CHECK-NEXT: [16.1] - Zn3Store
491 # CHECK: Resource pressure per iteration:
492 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
493 # CHECK-NEXT: - - - 0.50 1.00 - 0.50 - - - - - - - - - - - - - - - -
495 # CHECK: Resource pressure by instruction:
496 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
497 # CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxl %eax, %eax, %eax
498 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpb %al, %al
499 # CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %eax, %ecx
501 # CHECK: Timeline view:
503 # CHECK-NEXT: Index 0123456789
505 # CHECK: [0,0] DeeeeER .. mulxl %eax, %eax, %eax
506 # CHECK-NEXT: [0,1] D-----R .. cmpb %al, %al
507 # CHECK-NEXT: [0,2] D====eER .. cmovael %eax, %ecx
508 # CHECK-NEXT: [1,0] D====eeeeER. mulxl %eax, %eax, %eax
509 # CHECK-NEXT: [1,1] .D--------R. cmpb %al, %al
510 # CHECK-NEXT: [1,2] .D=======eER cmovael %eax, %ecx
512 # CHECK: Average Wait times (based on the timeline view):
513 # CHECK-NEXT: [0]: Executions
514 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
515 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
516 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
518 # CHECK: [0] [1] [2] [3]
519 # CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxl %eax, %eax, %eax
520 # CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpb %al, %al
521 # CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovael %eax, %ecx
522 # CHECK-NEXT: 2 3.2 0.2 2.2 <total>