[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / tools / llvm-mca / X86 / BtVer2 / cmpxchg-read-advance.s
blobc0b9c7ed37d957c0094fd93e516295d9a3828961
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -timeline < %s | FileCheck %s
4 # LLVM-MCA-BEGIN
5 imul %rax, %rax
6 cmpxchgq %rcx, (%rdx)
7 # LLVM-MCA-END
9 # LLVM-MCA-BEGIN
10 imul %rcx, %rcx
11 cmpxchgq %rcx, (%rdx)
12 # LLVM-MCA-END
14 # LLVM-MCA-BEGIN
15 imul %rax, %rax
16 lock cmpxchgq %rcx, (%rdx)
17 # LLVM-MCA-END
19 # LLVM-MCA-BEGIN
20 imul %rcx, %rcx
21 lock cmpxchgq %rcx, (%rdx)
22 # LLVM-MCA-END
24 # LLVM-MCA-BEGIN
25 imul %eax, %eax
26 imul %edx, %edx
27 cmpxchg8b (%rsp)
28 # LLVM-MCA-END
30 # LLVM-MCA-BEGIN
31 imul %eax, %eax
32 imul %edx, %edx
33 cmpxchg16b (%rsp)
34 # LLVM-MCA-END
36 # LLVM-MCA-BEGIN
37 imul %ebx, %ebx
38 imul %ecx, %ecx
39 lock cmpxchg8b (%rsp)
40 # LLVM-MCA-END
42 # LLVM-MCA-BEGIN
43 imul %ebx, %ebx
44 imul %ecx, %ecx
45 lock cmpxchg16b (%rsp)
46 # LLVM-MCA-END
48 # CHECK: [0] Code Region
50 # CHECK: Iterations: 1
51 # CHECK-NEXT: Instructions: 2
52 # CHECK-NEXT: Total Cycles: 17
53 # CHECK-NEXT: Total uOps: 7
55 # CHECK: Dispatch Width: 2
56 # CHECK-NEXT: uOps Per Cycle: 0.41
57 # CHECK-NEXT: IPC: 0.12
58 # CHECK-NEXT: Block RThroughput: 4.0
60 # CHECK: Instruction Info:
61 # CHECK-NEXT: [1]: #uOps
62 # CHECK-NEXT: [2]: Latency
63 # CHECK-NEXT: [3]: RThroughput
64 # CHECK-NEXT: [4]: MayLoad
65 # CHECK-NEXT: [5]: MayStore
66 # CHECK-NEXT: [6]: HasSideEffects (U)
68 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
69 # CHECK-NEXT: 1 6 4.00 imulq %rax, %rax
70 # CHECK-NEXT: 6 11 1.50 * * cmpxchgq %rcx, (%rdx)
72 # CHECK: Resources:
73 # CHECK-NEXT: [0] - JALU0
74 # CHECK-NEXT: [1] - JALU1
75 # CHECK-NEXT: [2] - JDiv
76 # CHECK-NEXT: [3] - JFPA
77 # CHECK-NEXT: [4] - JFPM
78 # CHECK-NEXT: [5] - JFPU0
79 # CHECK-NEXT: [6] - JFPU1
80 # CHECK-NEXT: [7] - JLAGU
81 # CHECK-NEXT: [8] - JMul
82 # CHECK-NEXT: [9] - JSAGU
83 # CHECK-NEXT: [10] - JSTC
84 # CHECK-NEXT: [11] - JVALU0
85 # CHECK-NEXT: [12] - JVALU1
86 # CHECK-NEXT: [13] - JVIMUL
88 # CHECK: Resource pressure per iteration:
89 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
90 # CHECK-NEXT: 3.00 1.00 - - - - - 1.00 4.00 1.00 - - - -
92 # CHECK: Resource pressure by instruction:
93 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
94 # CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rax, %rax
95 # CHECK-NEXT: 3.00 - - - - - - 1.00 - 1.00 - - - - cmpxchgq %rcx, (%rdx)
97 # CHECK: Timeline view:
98 # CHECK-NEXT: 0123456
99 # CHECK-NEXT: Index 0123456789
101 # CHECK: [0,0] DeeeeeeER . .. imulq %rax, %rax
102 # CHECK-NEXT: [0,1] .D==eeeeeeeeeeeER cmpxchgq %rcx, (%rdx)
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. 1 1.0 1.0 0.0 imulq %rax, %rax
112 # CHECK-NEXT: 1. 1 3.0 0.0 0.0 cmpxchgq %rcx, (%rdx)
113 # CHECK-NEXT: 1 2.0 0.5 0.0 <total>
115 # CHECK: [1] Code Region
117 # CHECK: Iterations: 1
118 # CHECK-NEXT: Instructions: 2
119 # CHECK-NEXT: Total Cycles: 17
120 # CHECK-NEXT: Total uOps: 7
122 # CHECK: Dispatch Width: 2
123 # CHECK-NEXT: uOps Per Cycle: 0.41
124 # CHECK-NEXT: IPC: 0.12
125 # CHECK-NEXT: Block RThroughput: 4.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 6 4.00 imulq %rcx, %rcx
137 # CHECK-NEXT: 6 11 1.50 * * cmpxchgq %rcx, (%rdx)
139 # CHECK: Resources:
140 # CHECK-NEXT: [0] - JALU0
141 # CHECK-NEXT: [1] - JALU1
142 # CHECK-NEXT: [2] - JDiv
143 # CHECK-NEXT: [3] - JFPA
144 # CHECK-NEXT: [4] - JFPM
145 # CHECK-NEXT: [5] - JFPU0
146 # CHECK-NEXT: [6] - JFPU1
147 # CHECK-NEXT: [7] - JLAGU
148 # CHECK-NEXT: [8] - JMul
149 # CHECK-NEXT: [9] - JSAGU
150 # CHECK-NEXT: [10] - JSTC
151 # CHECK-NEXT: [11] - JVALU0
152 # CHECK-NEXT: [12] - JVALU1
153 # CHECK-NEXT: [13] - JVIMUL
155 # CHECK: Resource pressure per iteration:
156 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
157 # CHECK-NEXT: 3.00 1.00 - - - - - 1.00 4.00 1.00 - - - -
159 # CHECK: Resource pressure by instruction:
160 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
161 # CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rcx, %rcx
162 # CHECK-NEXT: 3.00 - - - - - - 1.00 - 1.00 - - - - cmpxchgq %rcx, (%rdx)
164 # CHECK: Timeline view:
165 # CHECK-NEXT: 0123456
166 # CHECK-NEXT: Index 0123456789
168 # CHECK: [0,0] DeeeeeeER . .. imulq %rcx, %rcx
169 # CHECK-NEXT: [0,1] .D==eeeeeeeeeeeER cmpxchgq %rcx, (%rdx)
171 # CHECK: Average Wait times (based on the timeline view):
172 # CHECK-NEXT: [0]: Executions
173 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
174 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
175 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
177 # CHECK: [0] [1] [2] [3]
178 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imulq %rcx, %rcx
179 # CHECK-NEXT: 1. 1 3.0 0.0 0.0 cmpxchgq %rcx, (%rdx)
180 # CHECK-NEXT: 1 2.0 0.5 0.0 <total>
182 # CHECK: [2] Code Region
184 # CHECK: Iterations: 1
185 # CHECK-NEXT: Instructions: 2
186 # CHECK-NEXT: Total Cycles: 23
187 # CHECK-NEXT: Total uOps: 7
189 # CHECK: Dispatch Width: 2
190 # CHECK-NEXT: uOps Per Cycle: 0.30
191 # CHECK-NEXT: IPC: 0.09
192 # CHECK-NEXT: Block RThroughput: 17.0
194 # CHECK: Instruction Info:
195 # CHECK-NEXT: [1]: #uOps
196 # CHECK-NEXT: [2]: Latency
197 # CHECK-NEXT: [3]: RThroughput
198 # CHECK-NEXT: [4]: MayLoad
199 # CHECK-NEXT: [5]: MayStore
200 # CHECK-NEXT: [6]: HasSideEffects (U)
202 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
203 # CHECK-NEXT: 1 6 4.00 imulq %rax, %rax
204 # CHECK-NEXT: 6 17 17.00 * * lock cmpxchgq %rcx, (%rdx)
206 # CHECK: Resources:
207 # CHECK-NEXT: [0] - JALU0
208 # CHECK-NEXT: [1] - JALU1
209 # CHECK-NEXT: [2] - JDiv
210 # CHECK-NEXT: [3] - JFPA
211 # CHECK-NEXT: [4] - JFPM
212 # CHECK-NEXT: [5] - JFPU0
213 # CHECK-NEXT: [6] - JFPU1
214 # CHECK-NEXT: [7] - JLAGU
215 # CHECK-NEXT: [8] - JMul
216 # CHECK-NEXT: [9] - JSAGU
217 # CHECK-NEXT: [10] - JSTC
218 # CHECK-NEXT: [11] - JVALU0
219 # CHECK-NEXT: [12] - JVALU1
220 # CHECK-NEXT: [13] - JVIMUL
222 # CHECK: Resource pressure per iteration:
223 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
224 # CHECK-NEXT: 3.00 1.00 - - - - - 17.00 4.00 17.00 - - - -
226 # CHECK: Resource pressure by instruction:
227 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
228 # CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rax, %rax
229 # CHECK-NEXT: 3.00 - - - - - - 17.00 - 17.00 - - - - lock cmpxchgq %rcx, (%rdx)
231 # CHECK: Timeline view:
232 # CHECK-NEXT: 0123456789
233 # CHECK-NEXT: Index 0123456789 012
235 # CHECK: [0,0] DeeeeeeER . . . . imulq %rax, %rax
236 # CHECK-NEXT: [0,1] .D==eeeeeeeeeeeeeeeeeER lock cmpxchgq %rcx, (%rdx)
238 # CHECK: Average Wait times (based on the timeline view):
239 # CHECK-NEXT: [0]: Executions
240 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
241 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
242 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
244 # CHECK: [0] [1] [2] [3]
245 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imulq %rax, %rax
246 # CHECK-NEXT: 1. 1 3.0 0.0 0.0 lock cmpxchgq %rcx, (%rdx)
247 # CHECK-NEXT: 1 2.0 0.5 0.0 <total>
249 # CHECK: [3] Code Region
251 # CHECK: Iterations: 1
252 # CHECK-NEXT: Instructions: 2
253 # CHECK-NEXT: Total Cycles: 23
254 # CHECK-NEXT: Total uOps: 7
256 # CHECK: Dispatch Width: 2
257 # CHECK-NEXT: uOps Per Cycle: 0.30
258 # CHECK-NEXT: IPC: 0.09
259 # CHECK-NEXT: Block RThroughput: 17.0
261 # CHECK: Instruction Info:
262 # CHECK-NEXT: [1]: #uOps
263 # CHECK-NEXT: [2]: Latency
264 # CHECK-NEXT: [3]: RThroughput
265 # CHECK-NEXT: [4]: MayLoad
266 # CHECK-NEXT: [5]: MayStore
267 # CHECK-NEXT: [6]: HasSideEffects (U)
269 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
270 # CHECK-NEXT: 1 6 4.00 imulq %rcx, %rcx
271 # CHECK-NEXT: 6 17 17.00 * * lock cmpxchgq %rcx, (%rdx)
273 # CHECK: Resources:
274 # CHECK-NEXT: [0] - JALU0
275 # CHECK-NEXT: [1] - JALU1
276 # CHECK-NEXT: [2] - JDiv
277 # CHECK-NEXT: [3] - JFPA
278 # CHECK-NEXT: [4] - JFPM
279 # CHECK-NEXT: [5] - JFPU0
280 # CHECK-NEXT: [6] - JFPU1
281 # CHECK-NEXT: [7] - JLAGU
282 # CHECK-NEXT: [8] - JMul
283 # CHECK-NEXT: [9] - JSAGU
284 # CHECK-NEXT: [10] - JSTC
285 # CHECK-NEXT: [11] - JVALU0
286 # CHECK-NEXT: [12] - JVALU1
287 # CHECK-NEXT: [13] - JVIMUL
289 # CHECK: Resource pressure per iteration:
290 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
291 # CHECK-NEXT: 3.00 1.00 - - - - - 17.00 4.00 17.00 - - - -
293 # CHECK: Resource pressure by instruction:
294 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
295 # CHECK-NEXT: - 1.00 - - - - - - 4.00 - - - - - imulq %rcx, %rcx
296 # CHECK-NEXT: 3.00 - - - - - - 17.00 - 17.00 - - - - lock cmpxchgq %rcx, (%rdx)
298 # CHECK: Timeline view:
299 # CHECK-NEXT: 0123456789
300 # CHECK-NEXT: Index 0123456789 012
302 # CHECK: [0,0] DeeeeeeER . . . . imulq %rcx, %rcx
303 # CHECK-NEXT: [0,1] .D==eeeeeeeeeeeeeeeeeER lock cmpxchgq %rcx, (%rdx)
305 # CHECK: Average Wait times (based on the timeline view):
306 # CHECK-NEXT: [0]: Executions
307 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
308 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
309 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
311 # CHECK: [0] [1] [2] [3]
312 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imulq %rcx, %rcx
313 # CHECK-NEXT: 1. 1 3.0 0.0 0.0 lock cmpxchgq %rcx, (%rdx)
314 # CHECK-NEXT: 1 2.0 0.5 0.0 <total>
316 # CHECK: [4] Code Region
318 # CHECK: Iterations: 1
319 # CHECK-NEXT: Instructions: 3
320 # CHECK-NEXT: Total Cycles: 15
321 # CHECK-NEXT: Total uOps: 20
323 # CHECK: Dispatch Width: 2
324 # CHECK-NEXT: uOps Per Cycle: 1.33
325 # CHECK-NEXT: IPC: 0.20
326 # CHECK-NEXT: Block RThroughput: 10.0
328 # CHECK: Instruction Info:
329 # CHECK-NEXT: [1]: #uOps
330 # CHECK-NEXT: [2]: Latency
331 # CHECK-NEXT: [3]: RThroughput
332 # CHECK-NEXT: [4]: MayLoad
333 # CHECK-NEXT: [5]: MayStore
334 # CHECK-NEXT: [6]: HasSideEffects (U)
336 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
337 # CHECK-NEXT: 1 3 1.00 imull %eax, %eax
338 # CHECK-NEXT: 1 3 1.00 imull %edx, %edx
339 # CHECK-NEXT: 18 11 1.50 * * cmpxchg8b (%rsp)
341 # CHECK: Resources:
342 # CHECK-NEXT: [0] - JALU0
343 # CHECK-NEXT: [1] - JALU1
344 # CHECK-NEXT: [2] - JDiv
345 # CHECK-NEXT: [3] - JFPA
346 # CHECK-NEXT: [4] - JFPM
347 # CHECK-NEXT: [5] - JFPU0
348 # CHECK-NEXT: [6] - JFPU1
349 # CHECK-NEXT: [7] - JLAGU
350 # CHECK-NEXT: [8] - JMul
351 # CHECK-NEXT: [9] - JSAGU
352 # CHECK-NEXT: [10] - JSTC
353 # CHECK-NEXT: [11] - JVALU0
354 # CHECK-NEXT: [12] - JVALU1
355 # CHECK-NEXT: [13] - JVIMUL
357 # CHECK: Resource pressure per iteration:
358 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
359 # CHECK-NEXT: 3.00 2.00 - - - - - 1.00 2.00 1.00 - - - -
361 # CHECK: Resource pressure by instruction:
362 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
363 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %eax, %eax
364 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edx, %edx
365 # CHECK-NEXT: 3.00 - - - - - - 1.00 - 1.00 - - - - cmpxchg8b (%rsp)
367 # CHECK: Timeline view:
368 # CHECK-NEXT: 01234
369 # CHECK-NEXT: Index 0123456789
371 # CHECK: [0,0] DeeeER . . imull %eax, %eax
372 # CHECK-NEXT: [0,1] D=eeeER . . imull %edx, %edx
373 # CHECK-NEXT: [0,2] .DeeeeeeeeeeeER cmpxchg8b (%rsp)
375 # CHECK: Average Wait times (based on the timeline view):
376 # CHECK-NEXT: [0]: Executions
377 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
378 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
379 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
381 # CHECK: [0] [1] [2] [3]
382 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imull %eax, %eax
383 # CHECK-NEXT: 1. 1 2.0 2.0 0.0 imull %edx, %edx
384 # CHECK-NEXT: 2. 1 1.0 0.0 0.0 cmpxchg8b (%rsp)
385 # CHECK-NEXT: 1 1.3 1.0 0.0 <total>
387 # CHECK: [5] Code Region
389 # CHECK: Iterations: 1
390 # CHECK-NEXT: Instructions: 3
391 # CHECK-NEXT: Total Cycles: 36
392 # CHECK-NEXT: Total uOps: 30
394 # CHECK: Dispatch Width: 2
395 # CHECK-NEXT: uOps Per Cycle: 0.83
396 # CHECK-NEXT: IPC: 0.08
397 # CHECK-NEXT: Block RThroughput: 15.0
399 # CHECK: Instruction Info:
400 # CHECK-NEXT: [1]: #uOps
401 # CHECK-NEXT: [2]: Latency
402 # CHECK-NEXT: [3]: RThroughput
403 # CHECK-NEXT: [4]: MayLoad
404 # CHECK-NEXT: [5]: MayStore
405 # CHECK-NEXT: [6]: HasSideEffects (U)
407 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
408 # CHECK-NEXT: 1 3 1.00 imull %eax, %eax
409 # CHECK-NEXT: 1 3 1.00 imull %edx, %edx
410 # CHECK-NEXT: 28 32 3.00 * * cmpxchg16b (%rsp)
412 # CHECK: Resources:
413 # CHECK-NEXT: [0] - JALU0
414 # CHECK-NEXT: [1] - JALU1
415 # CHECK-NEXT: [2] - JDiv
416 # CHECK-NEXT: [3] - JFPA
417 # CHECK-NEXT: [4] - JFPM
418 # CHECK-NEXT: [5] - JFPU0
419 # CHECK-NEXT: [6] - JFPU1
420 # CHECK-NEXT: [7] - JLAGU
421 # CHECK-NEXT: [8] - JMul
422 # CHECK-NEXT: [9] - JSAGU
423 # CHECK-NEXT: [10] - JSTC
424 # CHECK-NEXT: [11] - JVALU0
425 # CHECK-NEXT: [12] - JVALU1
426 # CHECK-NEXT: [13] - JVIMUL
428 # CHECK: Resource pressure per iteration:
429 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
430 # CHECK-NEXT: 6.00 2.00 - - - - - 1.00 2.00 1.00 - - - -
432 # CHECK: Resource pressure by instruction:
433 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
434 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %eax, %eax
435 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %edx, %edx
436 # CHECK-NEXT: 6.00 - - - - - - 1.00 - 1.00 - - - - cmpxchg16b (%rsp)
438 # CHECK: Timeline view:
439 # CHECK-NEXT: 0123456789 012345
440 # CHECK-NEXT: Index 0123456789 0123456789
442 # CHECK: [0,0] DeeeER . . . . . . imull %eax, %eax
443 # CHECK-NEXT: [0,1] D=eeeER . . . . . . imull %edx, %edx
444 # CHECK-NEXT: [0,2] .DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER cmpxchg16b (%rsp)
446 # CHECK: Average Wait times (based on the timeline view):
447 # CHECK-NEXT: [0]: Executions
448 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
449 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
450 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
452 # CHECK: [0] [1] [2] [3]
453 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imull %eax, %eax
454 # CHECK-NEXT: 1. 1 2.0 2.0 0.0 imull %edx, %edx
455 # CHECK-NEXT: 2. 1 1.0 0.0 0.0 cmpxchg16b (%rsp)
456 # CHECK-NEXT: 1 1.3 1.0 0.0 <total>
458 # CHECK: [6] Code Region
460 # CHECK: Iterations: 1
461 # CHECK-NEXT: Instructions: 3
462 # CHECK-NEXT: Total Cycles: 23
463 # CHECK-NEXT: Total uOps: 20
465 # CHECK: Dispatch Width: 2
466 # CHECK-NEXT: uOps Per Cycle: 0.87
467 # CHECK-NEXT: IPC: 0.13
468 # CHECK-NEXT: Block RThroughput: 19.0
470 # CHECK: Instruction Info:
471 # CHECK-NEXT: [1]: #uOps
472 # CHECK-NEXT: [2]: Latency
473 # CHECK-NEXT: [3]: RThroughput
474 # CHECK-NEXT: [4]: MayLoad
475 # CHECK-NEXT: [5]: MayStore
476 # CHECK-NEXT: [6]: HasSideEffects (U)
478 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
479 # CHECK-NEXT: 1 3 1.00 imull %ebx, %ebx
480 # CHECK-NEXT: 1 3 1.00 imull %ecx, %ecx
481 # CHECK-NEXT: 18 19 19.00 * * lock cmpxchg8b (%rsp)
483 # CHECK: Resources:
484 # CHECK-NEXT: [0] - JALU0
485 # CHECK-NEXT: [1] - JALU1
486 # CHECK-NEXT: [2] - JDiv
487 # CHECK-NEXT: [3] - JFPA
488 # CHECK-NEXT: [4] - JFPM
489 # CHECK-NEXT: [5] - JFPU0
490 # CHECK-NEXT: [6] - JFPU1
491 # CHECK-NEXT: [7] - JLAGU
492 # CHECK-NEXT: [8] - JMul
493 # CHECK-NEXT: [9] - JSAGU
494 # CHECK-NEXT: [10] - JSTC
495 # CHECK-NEXT: [11] - JVALU0
496 # CHECK-NEXT: [12] - JVALU1
497 # CHECK-NEXT: [13] - JVIMUL
499 # CHECK: Resource pressure per iteration:
500 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
501 # CHECK-NEXT: 3.00 2.00 - - - - - 19.00 2.00 19.00 - - - -
503 # CHECK: Resource pressure by instruction:
504 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
505 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %ebx, %ebx
506 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %ecx, %ecx
507 # CHECK-NEXT: 3.00 - - - - - - 19.00 - 19.00 - - - - lock cmpxchg8b (%rsp)
509 # CHECK: Timeline view:
510 # CHECK-NEXT: 0123456789
511 # CHECK-NEXT: Index 0123456789 012
513 # CHECK: [0,0] DeeeER . . . . imull %ebx, %ebx
514 # CHECK-NEXT: [0,1] D=eeeER . . . . imull %ecx, %ecx
515 # CHECK-NEXT: [0,2] .DeeeeeeeeeeeeeeeeeeeER lock cmpxchg8b (%rsp)
517 # CHECK: Average Wait times (based on the timeline view):
518 # CHECK-NEXT: [0]: Executions
519 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
520 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
521 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
523 # CHECK: [0] [1] [2] [3]
524 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imull %ebx, %ebx
525 # CHECK-NEXT: 1. 1 2.0 2.0 0.0 imull %ecx, %ecx
526 # CHECK-NEXT: 2. 1 1.0 0.0 0.0 lock cmpxchg8b (%rsp)
527 # CHECK-NEXT: 1 1.3 1.0 0.0 <total>
529 # CHECK: [7] Code Region
531 # CHECK: Iterations: 1
532 # CHECK-NEXT: Instructions: 3
533 # CHECK-NEXT: Total Cycles: 42
534 # CHECK-NEXT: Total uOps: 30
536 # CHECK: Dispatch Width: 2
537 # CHECK-NEXT: uOps Per Cycle: 0.71
538 # CHECK-NEXT: IPC: 0.07
539 # CHECK-NEXT: Block RThroughput: 38.0
541 # CHECK: Instruction Info:
542 # CHECK-NEXT: [1]: #uOps
543 # CHECK-NEXT: [2]: Latency
544 # CHECK-NEXT: [3]: RThroughput
545 # CHECK-NEXT: [4]: MayLoad
546 # CHECK-NEXT: [5]: MayStore
547 # CHECK-NEXT: [6]: HasSideEffects (U)
549 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
550 # CHECK-NEXT: 1 3 1.00 imull %ebx, %ebx
551 # CHECK-NEXT: 1 3 1.00 imull %ecx, %ecx
552 # CHECK-NEXT: 28 38 38.00 * * lock cmpxchg16b (%rsp)
554 # CHECK: Resources:
555 # CHECK-NEXT: [0] - JALU0
556 # CHECK-NEXT: [1] - JALU1
557 # CHECK-NEXT: [2] - JDiv
558 # CHECK-NEXT: [3] - JFPA
559 # CHECK-NEXT: [4] - JFPM
560 # CHECK-NEXT: [5] - JFPU0
561 # CHECK-NEXT: [6] - JFPU1
562 # CHECK-NEXT: [7] - JLAGU
563 # CHECK-NEXT: [8] - JMul
564 # CHECK-NEXT: [9] - JSAGU
565 # CHECK-NEXT: [10] - JSTC
566 # CHECK-NEXT: [11] - JVALU0
567 # CHECK-NEXT: [12] - JVALU1
568 # CHECK-NEXT: [13] - JVIMUL
570 # CHECK: Resource pressure per iteration:
571 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
572 # CHECK-NEXT: 6.00 2.00 - - - - - 38.00 2.00 38.00 - - - -
574 # CHECK: Resource pressure by instruction:
575 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
576 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %ebx, %ebx
577 # CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - imull %ecx, %ecx
578 # CHECK-NEXT: 6.00 - - - - - - 38.00 - 38.00 - - - - lock cmpxchg16b (%rsp)
580 # CHECK: Timeline view:
581 # CHECK-NEXT: 0123456789 0123456789
582 # CHECK-NEXT: Index 0123456789 0123456789 01
584 # CHECK: [0,0] DeeeER . . . . . . .. imull %ebx, %ebx
585 # CHECK-NEXT: [0,1] D=eeeER . . . . . . .. imull %ecx, %ecx
586 # CHECK-NEXT: [0,2] .DeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeER lock cmpxchg16b (%rsp)
588 # CHECK: Average Wait times (based on the timeline view):
589 # CHECK-NEXT: [0]: Executions
590 # CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
591 # CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
592 # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
594 # CHECK: [0] [1] [2] [3]
595 # CHECK-NEXT: 0. 1 1.0 1.0 0.0 imull %ebx, %ebx
596 # CHECK-NEXT: 1. 1 2.0 2.0 0.0 imull %ecx, %ecx
597 # CHECK-NEXT: 2. 1 1.0 0.0 0.0 lock cmpxchg16b (%rsp)
598 # CHECK-NEXT: 1 1.3 1.0 0.0 <total>