523 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver3 -timeline -timeline-max-iterations=2 -iterations=1000 < %s | FileCheck %s3 4# LLVM-MCA-BEGIN5sbbl %eax, %eax6mulxl %eax, %eax, %eax7# LLVM-MCA-END8 9# LLVM-MCA-BEGIN10sbbq %rax, %rax11mulxq %rax, %rax, %rax12# LLVM-MCA-END13 14# LLVM-MCA-BEGIN15mulxl %eax, %eax, %eax16cmpl %eax, %eax17cmovael %eax, %ecx18# LLVM-MCA-END19 20# LLVM-MCA-BEGIN21mulxq %rax, %rax, %rax22cmpq %rax, %rax23cmovaeq %rax, %rcx24# LLVM-MCA-END25 26# LLVM-MCA-BEGIN27mulxl %eax, %eax, %eax28cmpw %ax, %ax29cmovael %eax, %ecx30# LLVM-MCA-END31 32# LLVM-MCA-BEGIN33mulxl %eax, %eax, %eax34cmpb %al, %al35cmovael %eax, %ecx36# LLVM-MCA-END37 38# CHECK: [0] Code Region39 40# CHECK: Iterations: 100041# CHECK-NEXT: Instructions: 200042# CHECK-NEXT: Total Cycles: 125943# CHECK-NEXT: Total uOps: 300044 45# CHECK: Dispatch Width: 646# CHECK-NEXT: uOps Per Cycle: 2.3847# CHECK-NEXT: IPC: 1.5948# CHECK-NEXT: Block RThroughput: 1.049 50# CHECK: Instruction Info:51# CHECK-NEXT: [1]: #uOps52# CHECK-NEXT: [2]: Latency53# CHECK-NEXT: [3]: RThroughput54# CHECK-NEXT: [4]: MayLoad55# CHECK-NEXT: [5]: MayStore56# CHECK-NEXT: [6]: HasSideEffects (U)57 58# CHECK: [1] [2] [3] [4] [5] [6] Instructions:59# CHECK-NEXT: 1 1 1.00 sbbl %eax, %eax60# CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax61 62# CHECK: Resources:63# CHECK-NEXT: [0] - Zn3AGU064# CHECK-NEXT: [1] - Zn3AGU165# CHECK-NEXT: [2] - Zn3AGU266# CHECK-NEXT: [3] - Zn3ALU067# CHECK-NEXT: [4] - Zn3ALU168# CHECK-NEXT: [5] - Zn3ALU269# CHECK-NEXT: [6] - Zn3ALU370# CHECK-NEXT: [7] - Zn3BRU171# CHECK-NEXT: [8] - Zn3FP072# CHECK-NEXT: [9] - Zn3FP173# CHECK-NEXT: [10] - Zn3FP274# CHECK-NEXT: [11] - Zn3FP375# CHECK-NEXT: [12.0] - Zn3FP4576# CHECK-NEXT: [12.1] - Zn3FP4577# CHECK-NEXT: [13] - Zn3FPSt78# CHECK-NEXT: [14.0] - Zn3LSU79# CHECK-NEXT: [14.1] - Zn3LSU80# CHECK-NEXT: [14.2] - Zn3LSU81# CHECK-NEXT: [15.0] - Zn3Load82# CHECK-NEXT: [15.1] - Zn3Load83# CHECK-NEXT: [15.2] - Zn3Load84# CHECK-NEXT: [16.0] - Zn3Store85# CHECK-NEXT: [16.1] - Zn3Store86 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 - - - - - - - - - - - - - - - -90 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, %eax94# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxl %eax, %eax, %eax95 96# CHECK: Timeline view:97# CHECK-NEXT: Index 01234567898 99# CHECK: [0,0] DeER . . sbbl %eax, %eax100# CHECK-NEXT: [0,1] D=eeeeER. mulxl %eax, %eax, %eax101# CHECK-NEXT: [1,0] D=eE---R. sbbl %eax, %eax102# CHECK-NEXT: [1,1] D==eeeeER mulxl %eax, %eax, %eax103 104# CHECK: Average Wait times (based on the timeline view):105# CHECK-NEXT: [0]: Executions106# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue107# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready108# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage109 110# CHECK: [0] [1] [2] [3]111# CHECK-NEXT: 0. 2 1.5 0.5 1.5 sbbl %eax, %eax112# CHECK-NEXT: 1. 2 2.5 0.0 0.0 mulxl %eax, %eax, %eax113# CHECK-NEXT: 2 2.0 0.3 0.8 <total>114 115# CHECK: [1] Code Region116 117# CHECK: Iterations: 1000118# CHECK-NEXT: Instructions: 2000119# CHECK-NEXT: Total Cycles: 1259120# CHECK-NEXT: Total uOps: 3000121 122# CHECK: Dispatch Width: 6123# CHECK-NEXT: uOps Per Cycle: 2.38124# CHECK-NEXT: IPC: 1.59125# CHECK-NEXT: Block RThroughput: 1.0126 127# CHECK: Instruction Info:128# CHECK-NEXT: [1]: #uOps129# CHECK-NEXT: [2]: Latency130# CHECK-NEXT: [3]: RThroughput131# CHECK-NEXT: [4]: MayLoad132# CHECK-NEXT: [5]: MayStore133# CHECK-NEXT: [6]: HasSideEffects (U)134 135# CHECK: [1] [2] [3] [4] [5] [6] Instructions:136# CHECK-NEXT: 1 1 1.00 sbbq %rax, %rax137# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rax, %rax138 139# CHECK: Resources:140# CHECK-NEXT: [0] - Zn3AGU0141# CHECK-NEXT: [1] - Zn3AGU1142# CHECK-NEXT: [2] - Zn3AGU2143# CHECK-NEXT: [3] - Zn3ALU0144# CHECK-NEXT: [4] - Zn3ALU1145# CHECK-NEXT: [5] - Zn3ALU2146# CHECK-NEXT: [6] - Zn3ALU3147# CHECK-NEXT: [7] - Zn3BRU1148# CHECK-NEXT: [8] - Zn3FP0149# CHECK-NEXT: [9] - Zn3FP1150# CHECK-NEXT: [10] - Zn3FP2151# CHECK-NEXT: [11] - Zn3FP3152# CHECK-NEXT: [12.0] - Zn3FP45153# CHECK-NEXT: [12.1] - Zn3FP45154# CHECK-NEXT: [13] - Zn3FPSt155# CHECK-NEXT: [14.0] - Zn3LSU156# CHECK-NEXT: [14.1] - Zn3LSU157# CHECK-NEXT: [14.2] - Zn3LSU158# CHECK-NEXT: [15.0] - Zn3Load159# CHECK-NEXT: [15.1] - Zn3Load160# CHECK-NEXT: [15.2] - Zn3Load161# CHECK-NEXT: [16.0] - Zn3Store162# CHECK-NEXT: [16.1] - Zn3Store163 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 - - - - - - - - - - - - - - - -167 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, %rax171# CHECK-NEXT: - - - - 1.00 - - - - - - - - - - - - - - - - - - mulxq %rax, %rax, %rax172 173# CHECK: Timeline view:174# CHECK-NEXT: Index 012345678175 176# CHECK: [0,0] DeER . . sbbq %rax, %rax177# CHECK-NEXT: [0,1] D=eeeeER. mulxq %rax, %rax, %rax178# CHECK-NEXT: [1,0] D=eE---R. sbbq %rax, %rax179# CHECK-NEXT: [1,1] D==eeeeER mulxq %rax, %rax, %rax180 181# CHECK: Average Wait times (based on the timeline view):182# CHECK-NEXT: [0]: Executions183# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue184# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready185# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage186 187# CHECK: [0] [1] [2] [3]188# CHECK-NEXT: 0. 2 1.5 0.5 1.5 sbbq %rax, %rax189# CHECK-NEXT: 1. 2 2.5 0.0 0.0 mulxq %rax, %rax, %rax190# CHECK-NEXT: 2 2.0 0.3 0.8 <total>191 192# CHECK: [2] Code Region193 194# CHECK: Iterations: 1000195# CHECK-NEXT: Instructions: 3000196# CHECK-NEXT: Total Cycles: 4004197# CHECK-NEXT: Total uOps: 4000198 199# CHECK: Dispatch Width: 6200# CHECK-NEXT: uOps Per Cycle: 1.00201# CHECK-NEXT: IPC: 0.75202# CHECK-NEXT: Block RThroughput: 1.0203 204# CHECK: Instruction Info:205# CHECK-NEXT: [1]: #uOps206# CHECK-NEXT: [2]: Latency207# CHECK-NEXT: [3]: RThroughput208# CHECK-NEXT: [4]: MayLoad209# CHECK-NEXT: [5]: MayStore210# CHECK-NEXT: [6]: HasSideEffects (U)211 212# CHECK: [1] [2] [3] [4] [5] [6] Instructions:213# CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax214# CHECK-NEXT: 1 0 0.17 cmpl %eax, %eax215# CHECK-NEXT: 1 1 0.50 cmovael %eax, %ecx216 217# CHECK: Resources:218# CHECK-NEXT: [0] - Zn3AGU0219# CHECK-NEXT: [1] - Zn3AGU1220# CHECK-NEXT: [2] - Zn3AGU2221# CHECK-NEXT: [3] - Zn3ALU0222# CHECK-NEXT: [4] - Zn3ALU1223# CHECK-NEXT: [5] - Zn3ALU2224# CHECK-NEXT: [6] - Zn3ALU3225# CHECK-NEXT: [7] - Zn3BRU1226# CHECK-NEXT: [8] - Zn3FP0227# CHECK-NEXT: [9] - Zn3FP1228# CHECK-NEXT: [10] - Zn3FP2229# CHECK-NEXT: [11] - Zn3FP3230# CHECK-NEXT: [12.0] - Zn3FP45231# CHECK-NEXT: [12.1] - Zn3FP45232# CHECK-NEXT: [13] - Zn3FPSt233# CHECK-NEXT: [14.0] - Zn3LSU234# CHECK-NEXT: [14.1] - Zn3LSU235# CHECK-NEXT: [14.2] - Zn3LSU236# CHECK-NEXT: [15.0] - Zn3Load237# CHECK-NEXT: [15.1] - Zn3Load238# CHECK-NEXT: [15.2] - Zn3Load239# CHECK-NEXT: [16.0] - Zn3Store240# CHECK-NEXT: [16.1] - Zn3Store241 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 - - - - - - - - - - - - - - - -245 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, %eax249# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpl %eax, %eax250# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %eax, %ecx251 252# CHECK: Timeline view:253# CHECK-NEXT: 01254# CHECK-NEXT: Index 0123456789255 256# CHECK: [0,0] DeeeeER .. mulxl %eax, %eax, %eax257# CHECK-NEXT: [0,1] D-----R .. cmpl %eax, %eax258# CHECK-NEXT: [0,2] D====eER .. cmovael %eax, %ecx259# CHECK-NEXT: [1,0] D====eeeeER. mulxl %eax, %eax, %eax260# CHECK-NEXT: [1,1] .D--------R. cmpl %eax, %eax261# CHECK-NEXT: [1,2] .D=======eER cmovael %eax, %ecx262 263# CHECK: Average Wait times (based on the timeline view):264# CHECK-NEXT: [0]: Executions265# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue266# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready267# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage268 269# CHECK: [0] [1] [2] [3]270# CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxl %eax, %eax, %eax271# CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpl %eax, %eax272# CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovael %eax, %ecx273# CHECK-NEXT: 2 3.2 0.2 2.2 <total>274 275# CHECK: [3] Code Region276 277# CHECK: Iterations: 1000278# CHECK-NEXT: Instructions: 3000279# CHECK-NEXT: Total Cycles: 4004280# CHECK-NEXT: Total uOps: 4000281 282# CHECK: Dispatch Width: 6283# CHECK-NEXT: uOps Per Cycle: 1.00284# CHECK-NEXT: IPC: 0.75285# CHECK-NEXT: Block RThroughput: 1.0286 287# CHECK: Instruction Info:288# CHECK-NEXT: [1]: #uOps289# CHECK-NEXT: [2]: Latency290# CHECK-NEXT: [3]: RThroughput291# CHECK-NEXT: [4]: MayLoad292# CHECK-NEXT: [5]: MayStore293# CHECK-NEXT: [6]: HasSideEffects (U)294 295# CHECK: [1] [2] [3] [4] [5] [6] Instructions:296# CHECK-NEXT: 2 4 1.00 mulxq %rax, %rax, %rax297# CHECK-NEXT: 1 0 0.17 cmpq %rax, %rax298# CHECK-NEXT: 1 1 0.50 cmovaeq %rax, %rcx299 300# CHECK: Resources:301# CHECK-NEXT: [0] - Zn3AGU0302# CHECK-NEXT: [1] - Zn3AGU1303# CHECK-NEXT: [2] - Zn3AGU2304# CHECK-NEXT: [3] - Zn3ALU0305# CHECK-NEXT: [4] - Zn3ALU1306# CHECK-NEXT: [5] - Zn3ALU2307# CHECK-NEXT: [6] - Zn3ALU3308# CHECK-NEXT: [7] - Zn3BRU1309# CHECK-NEXT: [8] - Zn3FP0310# CHECK-NEXT: [9] - Zn3FP1311# CHECK-NEXT: [10] - Zn3FP2312# CHECK-NEXT: [11] - Zn3FP3313# CHECK-NEXT: [12.0] - Zn3FP45314# CHECK-NEXT: [12.1] - Zn3FP45315# CHECK-NEXT: [13] - Zn3FPSt316# CHECK-NEXT: [14.0] - Zn3LSU317# CHECK-NEXT: [14.1] - Zn3LSU318# CHECK-NEXT: [14.2] - Zn3LSU319# CHECK-NEXT: [15.0] - Zn3Load320# CHECK-NEXT: [15.1] - Zn3Load321# CHECK-NEXT: [15.2] - Zn3Load322# CHECK-NEXT: [16.0] - Zn3Store323# CHECK-NEXT: [16.1] - Zn3Store324 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 - - - - - - - - - - - - - - - -328 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, %rax332# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpq %rax, %rax333# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovaeq %rax, %rcx334 335# CHECK: Timeline view:336# CHECK-NEXT: 01337# CHECK-NEXT: Index 0123456789338 339# CHECK: [0,0] DeeeeER .. mulxq %rax, %rax, %rax340# CHECK-NEXT: [0,1] D-----R .. cmpq %rax, %rax341# CHECK-NEXT: [0,2] D====eER .. cmovaeq %rax, %rcx342# CHECK-NEXT: [1,0] D====eeeeER. mulxq %rax, %rax, %rax343# CHECK-NEXT: [1,1] .D--------R. cmpq %rax, %rax344# CHECK-NEXT: [1,2] .D=======eER cmovaeq %rax, %rcx345 346# CHECK: Average Wait times (based on the timeline view):347# CHECK-NEXT: [0]: Executions348# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue349# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready350# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage351 352# CHECK: [0] [1] [2] [3]353# CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxq %rax, %rax, %rax354# CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpq %rax, %rax355# CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovaeq %rax, %rcx356# CHECK-NEXT: 2 3.2 0.2 2.2 <total>357 358# CHECK: [4] Code Region359 360# CHECK: Iterations: 1000361# CHECK-NEXT: Instructions: 3000362# CHECK-NEXT: Total Cycles: 4004363# CHECK-NEXT: Total uOps: 4000364 365# CHECK: Dispatch Width: 6366# CHECK-NEXT: uOps Per Cycle: 1.00367# CHECK-NEXT: IPC: 0.75368# CHECK-NEXT: Block RThroughput: 1.0369 370# CHECK: Instruction Info:371# CHECK-NEXT: [1]: #uOps372# CHECK-NEXT: [2]: Latency373# CHECK-NEXT: [3]: RThroughput374# CHECK-NEXT: [4]: MayLoad375# CHECK-NEXT: [5]: MayStore376# CHECK-NEXT: [6]: HasSideEffects (U)377 378# CHECK: [1] [2] [3] [4] [5] [6] Instructions:379# CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax380# CHECK-NEXT: 1 0 0.17 cmpw %ax, %ax381# CHECK-NEXT: 1 1 0.50 cmovael %eax, %ecx382 383# CHECK: Resources:384# CHECK-NEXT: [0] - Zn3AGU0385# CHECK-NEXT: [1] - Zn3AGU1386# CHECK-NEXT: [2] - Zn3AGU2387# CHECK-NEXT: [3] - Zn3ALU0388# CHECK-NEXT: [4] - Zn3ALU1389# CHECK-NEXT: [5] - Zn3ALU2390# CHECK-NEXT: [6] - Zn3ALU3391# CHECK-NEXT: [7] - Zn3BRU1392# CHECK-NEXT: [8] - Zn3FP0393# CHECK-NEXT: [9] - Zn3FP1394# CHECK-NEXT: [10] - Zn3FP2395# CHECK-NEXT: [11] - Zn3FP3396# CHECK-NEXT: [12.0] - Zn3FP45397# CHECK-NEXT: [12.1] - Zn3FP45398# CHECK-NEXT: [13] - Zn3FPSt399# CHECK-NEXT: [14.0] - Zn3LSU400# CHECK-NEXT: [14.1] - Zn3LSU401# CHECK-NEXT: [14.2] - Zn3LSU402# CHECK-NEXT: [15.0] - Zn3Load403# CHECK-NEXT: [15.1] - Zn3Load404# CHECK-NEXT: [15.2] - Zn3Load405# CHECK-NEXT: [16.0] - Zn3Store406# CHECK-NEXT: [16.1] - Zn3Store407 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 - - - - - - - - - - - - - - - -411 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, %eax415# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpw %ax, %ax416# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %eax, %ecx417 418# CHECK: Timeline view:419# CHECK-NEXT: 01420# CHECK-NEXT: Index 0123456789421 422# CHECK: [0,0] DeeeeER .. mulxl %eax, %eax, %eax423# CHECK-NEXT: [0,1] D-----R .. cmpw %ax, %ax424# CHECK-NEXT: [0,2] D====eER .. cmovael %eax, %ecx425# CHECK-NEXT: [1,0] D====eeeeER. mulxl %eax, %eax, %eax426# CHECK-NEXT: [1,1] .D--------R. cmpw %ax, %ax427# CHECK-NEXT: [1,2] .D=======eER cmovael %eax, %ecx428 429# CHECK: Average Wait times (based on the timeline view):430# CHECK-NEXT: [0]: Executions431# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue432# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready433# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage434 435# CHECK: [0] [1] [2] [3]436# CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxl %eax, %eax, %eax437# CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpw %ax, %ax438# CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovael %eax, %ecx439# CHECK-NEXT: 2 3.2 0.2 2.2 <total>440 441# CHECK: [5] Code Region442 443# CHECK: Iterations: 1000444# CHECK-NEXT: Instructions: 3000445# CHECK-NEXT: Total Cycles: 4004446# CHECK-NEXT: Total uOps: 4000447 448# CHECK: Dispatch Width: 6449# CHECK-NEXT: uOps Per Cycle: 1.00450# CHECK-NEXT: IPC: 0.75451# CHECK-NEXT: Block RThroughput: 1.0452 453# CHECK: Instruction Info:454# CHECK-NEXT: [1]: #uOps455# CHECK-NEXT: [2]: Latency456# CHECK-NEXT: [3]: RThroughput457# CHECK-NEXT: [4]: MayLoad458# CHECK-NEXT: [5]: MayStore459# CHECK-NEXT: [6]: HasSideEffects (U)460 461# CHECK: [1] [2] [3] [4] [5] [6] Instructions:462# CHECK-NEXT: 2 4 1.00 mulxl %eax, %eax, %eax463# CHECK-NEXT: 1 0 0.17 cmpb %al, %al464# CHECK-NEXT: 1 1 0.50 cmovael %eax, %ecx465 466# CHECK: Resources:467# CHECK-NEXT: [0] - Zn3AGU0468# CHECK-NEXT: [1] - Zn3AGU1469# CHECK-NEXT: [2] - Zn3AGU2470# CHECK-NEXT: [3] - Zn3ALU0471# CHECK-NEXT: [4] - Zn3ALU1472# CHECK-NEXT: [5] - Zn3ALU2473# CHECK-NEXT: [6] - Zn3ALU3474# CHECK-NEXT: [7] - Zn3BRU1475# CHECK-NEXT: [8] - Zn3FP0476# CHECK-NEXT: [9] - Zn3FP1477# CHECK-NEXT: [10] - Zn3FP2478# CHECK-NEXT: [11] - Zn3FP3479# CHECK-NEXT: [12.0] - Zn3FP45480# CHECK-NEXT: [12.1] - Zn3FP45481# CHECK-NEXT: [13] - Zn3FPSt482# CHECK-NEXT: [14.0] - Zn3LSU483# CHECK-NEXT: [14.1] - Zn3LSU484# CHECK-NEXT: [14.2] - Zn3LSU485# CHECK-NEXT: [15.0] - Zn3Load486# CHECK-NEXT: [15.1] - Zn3Load487# CHECK-NEXT: [15.2] - Zn3Load488# CHECK-NEXT: [16.0] - Zn3Store489# CHECK-NEXT: [16.1] - Zn3Store490 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 - - - - - - - - - - - - - - - -494 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, %eax498# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - cmpb %al, %al499# CHECK-NEXT: - - - 0.50 - - 0.50 - - - - - - - - - - - - - - - - cmovael %eax, %ecx500 501# CHECK: Timeline view:502# CHECK-NEXT: 01503# CHECK-NEXT: Index 0123456789504 505# CHECK: [0,0] DeeeeER .. mulxl %eax, %eax, %eax506# CHECK-NEXT: [0,1] D-----R .. cmpb %al, %al507# CHECK-NEXT: [0,2] D====eER .. cmovael %eax, %ecx508# CHECK-NEXT: [1,0] D====eeeeER. mulxl %eax, %eax, %eax509# CHECK-NEXT: [1,1] .D--------R. cmpb %al, %al510# CHECK-NEXT: [1,2] .D=======eER cmovael %eax, %ecx511 512# CHECK: Average Wait times (based on the timeline view):513# CHECK-NEXT: [0]: Executions514# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue515# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready516# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage517 518# CHECK: [0] [1] [2] [3]519# CHECK-NEXT: 0. 2 3.0 0.5 0.0 mulxl %eax, %eax, %eax520# CHECK-NEXT: 1. 2 0.0 0.0 6.5 cmpb %al, %al521# CHECK-NEXT: 2. 2 6.5 0.0 0.0 cmovael %eax, %ecx522# CHECK-NEXT: 2 3.2 0.2 2.2 <total>523