859 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -scheduler-stats -dispatch-stats -iterations=100 -timeline -timeline-max-iterations=1 < %s | FileCheck %s3 4# LLVM-MCA-BEGIN5movb (%rax), %spl6movb (%rcx), %bpl7movb (%rdx), %sil8movb (%rbx), %dil9# LLVM-MCA-END10 11# LLVM-MCA-BEGIN12movw (%rax), %sp13movw (%rcx), %bp14movw (%rdx), %si15movw (%rbx), %di16# LLVM-MCA-END17 18# LLVM-MCA-BEGIN19movl (%rax), %esp20movl (%rcx), %ebp21movl (%rdx), %esi22movl (%rbx), %edi23# LLVM-MCA-END24 25# LLVM-MCA-BEGIN26movq (%rax), %rsp27movq (%rcx), %rbp28movq (%rdx), %rsi29movq (%rbx), %rdi30# LLVM-MCA-END31 32# LLVM-MCA-BEGIN33movd (%rax), %mm034movd (%rcx), %mm135movd (%rdx), %mm236movd (%rbx), %mm337# LLVM-MCA-END38 39# LLVM-MCA-BEGIN40movaps (%rax), %xmm041movaps (%rcx), %xmm142movaps (%rdx), %xmm243movaps (%rbx), %xmm344# LLVM-MCA-END45 46# LLVM-MCA-BEGIN47vmovaps (%rax), %ymm048vmovaps (%rcx), %ymm149vmovaps (%rdx), %ymm250vmovaps (%rbx), %ymm351# LLVM-MCA-END52 53# CHECK: [0] Code Region54 55# CHECK: Iterations: 10056# CHECK-NEXT: Instructions: 40057# CHECK-NEXT: Total Cycles: 40658# CHECK-NEXT: Total uOps: 40059 60# CHECK: Dispatch Width: 461# CHECK-NEXT: uOps Per Cycle: 0.9962# CHECK-NEXT: IPC: 0.9963# CHECK-NEXT: Block RThroughput: 4.064 65# CHECK: Instruction Info:66# CHECK-NEXT: [1]: #uOps67# CHECK-NEXT: [2]: Latency68# CHECK-NEXT: [3]: RThroughput69# CHECK-NEXT: [4]: MayLoad70# CHECK-NEXT: [5]: MayStore71# CHECK-NEXT: [6]: HasSideEffects (U)72 73# CHECK: [1] [2] [3] [4] [5] [6] Instructions:74# CHECK-NEXT: 1 5 1.00 * movb (%rax), %spl75# CHECK-NEXT: 1 5 1.00 * movb (%rcx), %bpl76# CHECK-NEXT: 1 5 1.00 * movb (%rdx), %sil77# CHECK-NEXT: 1 5 1.00 * movb (%rbx), %dil78 79# CHECK: Dynamic Dispatch Stall Cycles:80# CHECK-NEXT: RAT - Register unavailable: 081# CHECK-NEXT: RCU - Retire tokens unavailable: 082# CHECK-NEXT: SCHEDQ - Scheduler full: 083# CHECK-NEXT: LQ - Load queue full: 354 (87.2%)84# CHECK-NEXT: SQ - Store queue full: 085# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 086# CHECK-NEXT: USH - Uncategorised Structural Hazard: 087 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 40107# CHECK-NEXT: PdFPU 0 0 64108# CHECK-NEXT: PdLoad 36 40 40109# CHECK-NEXT: PdStore 0 0 24110 111# CHECK: Resources:112# CHECK-NEXT: [0.0] - PdAGLU01113# CHECK-NEXT: [0.1] - PdAGLU01114# CHECK-NEXT: [1] - PdBranch115# CHECK-NEXT: [2] - PdCount116# CHECK-NEXT: [3] - PdDiv117# CHECK-NEXT: [4] - PdEX0118# CHECK-NEXT: [5] - PdEX1119# CHECK-NEXT: [6] - PdFPCVT120# CHECK-NEXT: [7.0] - PdFPFMA121# CHECK-NEXT: [7.1] - PdFPFMA122# CHECK-NEXT: [8.0] - PdFPMAL123# CHECK-NEXT: [8.1] - PdFPMAL124# CHECK-NEXT: [9] - PdFPMMA125# CHECK-NEXT: [10] - PdFPSTO126# CHECK-NEXT: [11] - PdFPU0127# CHECK-NEXT: [12] - PdFPU1128# CHECK-NEXT: [13] - PdFPU2129# CHECK-NEXT: [14] - PdFPU3130# CHECK-NEXT: [15] - PdFPXBR131# CHECK-NEXT: [16.0] - PdLoad132# CHECK-NEXT: [16.1] - PdLoad133# CHECK-NEXT: [17] - PdMul134# CHECK-NEXT: [18] - PdStore135 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), %spl143# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movb (%rcx), %bpl144# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - movb (%rdx), %sil145# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movb (%rbx), %dil146 147# CHECK: Timeline view:148# CHECK-NEXT: Index 0123456789149 150# CHECK: [0,0] DeeeeeER . movb (%rax), %spl151# CHECK-NEXT: [0,1] DeeeeeER . movb (%rcx), %bpl152# CHECK-NEXT: [0,2] D==eeeeeER movb (%rdx), %sil153# CHECK-NEXT: [0,3] D==eeeeeER movb (%rbx), %dil154 155# CHECK: Average Wait times (based on the timeline view):156# CHECK-NEXT: [0]: Executions157# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue158# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready159# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage160 161# CHECK: [0] [1] [2] [3]162# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movb (%rax), %spl163# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movb (%rcx), %bpl164# CHECK-NEXT: 2. 1 3.0 3.0 0.0 movb (%rdx), %sil165# CHECK-NEXT: 3. 1 3.0 3.0 0.0 movb (%rbx), %dil166# CHECK-NEXT: 1 2.0 2.0 0.0 <total>167 168# CHECK: [1] Code Region169 170# CHECK: Iterations: 100171# CHECK-NEXT: Instructions: 400172# CHECK-NEXT: Total Cycles: 406173# CHECK-NEXT: Total uOps: 400174 175# CHECK: Dispatch Width: 4176# CHECK-NEXT: uOps Per Cycle: 0.99177# CHECK-NEXT: IPC: 0.99178# CHECK-NEXT: Block RThroughput: 4.0179 180# CHECK: Instruction Info:181# CHECK-NEXT: [1]: #uOps182# CHECK-NEXT: [2]: Latency183# CHECK-NEXT: [3]: RThroughput184# CHECK-NEXT: [4]: MayLoad185# CHECK-NEXT: [5]: MayStore186# CHECK-NEXT: [6]: HasSideEffects (U)187 188# CHECK: [1] [2] [3] [4] [5] [6] Instructions:189# CHECK-NEXT: 1 5 1.00 * movw (%rax), %sp190# CHECK-NEXT: 1 5 1.00 * movw (%rcx), %bp191# CHECK-NEXT: 1 5 1.00 * movw (%rdx), %si192# CHECK-NEXT: 1 5 1.00 * movw (%rbx), %di193 194# CHECK: Dynamic Dispatch Stall Cycles:195# CHECK-NEXT: RAT - Register unavailable: 0196# CHECK-NEXT: RCU - Retire tokens unavailable: 0197# CHECK-NEXT: SCHEDQ - Scheduler full: 0198# CHECK-NEXT: LQ - Load queue full: 354 (87.2%)199# CHECK-NEXT: SQ - Store queue full: 0200# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0201# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0202 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 40222# CHECK-NEXT: PdFPU 0 0 64223# CHECK-NEXT: PdLoad 36 40 40224# CHECK-NEXT: PdStore 0 0 24225 226# CHECK: Resources:227# CHECK-NEXT: [0.0] - PdAGLU01228# CHECK-NEXT: [0.1] - PdAGLU01229# CHECK-NEXT: [1] - PdBranch230# CHECK-NEXT: [2] - PdCount231# CHECK-NEXT: [3] - PdDiv232# CHECK-NEXT: [4] - PdEX0233# CHECK-NEXT: [5] - PdEX1234# CHECK-NEXT: [6] - PdFPCVT235# CHECK-NEXT: [7.0] - PdFPFMA236# CHECK-NEXT: [7.1] - PdFPFMA237# CHECK-NEXT: [8.0] - PdFPMAL238# CHECK-NEXT: [8.1] - PdFPMAL239# CHECK-NEXT: [9] - PdFPMMA240# CHECK-NEXT: [10] - PdFPSTO241# CHECK-NEXT: [11] - PdFPU0242# CHECK-NEXT: [12] - PdFPU1243# CHECK-NEXT: [13] - PdFPU2244# CHECK-NEXT: [14] - PdFPU3245# CHECK-NEXT: [15] - PdFPXBR246# CHECK-NEXT: [16.0] - PdLoad247# CHECK-NEXT: [16.1] - PdLoad248# CHECK-NEXT: [17] - PdMul249# CHECK-NEXT: [18] - PdStore250 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), %sp258# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movw (%rcx), %bp259# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - movw (%rdx), %si260# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movw (%rbx), %di261 262# CHECK: Timeline view:263# CHECK-NEXT: Index 0123456789264 265# CHECK: [0,0] DeeeeeER . movw (%rax), %sp266# CHECK-NEXT: [0,1] DeeeeeER . movw (%rcx), %bp267# CHECK-NEXT: [0,2] D==eeeeeER movw (%rdx), %si268# CHECK-NEXT: [0,3] D==eeeeeER movw (%rbx), %di269 270# CHECK: Average Wait times (based on the timeline view):271# CHECK-NEXT: [0]: Executions272# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue273# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready274# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage275 276# CHECK: [0] [1] [2] [3]277# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movw (%rax), %sp278# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movw (%rcx), %bp279# CHECK-NEXT: 2. 1 3.0 3.0 0.0 movw (%rdx), %si280# CHECK-NEXT: 3. 1 3.0 3.0 0.0 movw (%rbx), %di281# CHECK-NEXT: 1 2.0 2.0 0.0 <total>282 283# CHECK: [2] Code Region284 285# CHECK: Iterations: 100286# CHECK-NEXT: Instructions: 400287# CHECK-NEXT: Total Cycles: 406288# CHECK-NEXT: Total uOps: 400289 290# CHECK: Dispatch Width: 4291# CHECK-NEXT: uOps Per Cycle: 0.99292# CHECK-NEXT: IPC: 0.99293# CHECK-NEXT: Block RThroughput: 4.0294 295# CHECK: Instruction Info:296# CHECK-NEXT: [1]: #uOps297# CHECK-NEXT: [2]: Latency298# CHECK-NEXT: [3]: RThroughput299# CHECK-NEXT: [4]: MayLoad300# CHECK-NEXT: [5]: MayStore301# CHECK-NEXT: [6]: HasSideEffects (U)302 303# CHECK: [1] [2] [3] [4] [5] [6] Instructions:304# CHECK-NEXT: 1 5 1.00 * movl (%rax), %esp305# CHECK-NEXT: 1 5 1.00 * movl (%rcx), %ebp306# CHECK-NEXT: 1 5 1.00 * movl (%rdx), %esi307# CHECK-NEXT: 1 5 1.00 * movl (%rbx), %edi308 309# CHECK: Dynamic Dispatch Stall Cycles:310# CHECK-NEXT: RAT - Register unavailable: 0311# CHECK-NEXT: RCU - Retire tokens unavailable: 0312# CHECK-NEXT: SCHEDQ - Scheduler full: 0313# CHECK-NEXT: LQ - Load queue full: 354 (87.2%)314# CHECK-NEXT: SQ - Store queue full: 0315# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0316# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0317 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 40337# CHECK-NEXT: PdFPU 0 0 64338# CHECK-NEXT: PdLoad 36 40 40339# CHECK-NEXT: PdStore 0 0 24340 341# CHECK: Resources:342# CHECK-NEXT: [0.0] - PdAGLU01343# CHECK-NEXT: [0.1] - PdAGLU01344# CHECK-NEXT: [1] - PdBranch345# CHECK-NEXT: [2] - PdCount346# CHECK-NEXT: [3] - PdDiv347# CHECK-NEXT: [4] - PdEX0348# CHECK-NEXT: [5] - PdEX1349# CHECK-NEXT: [6] - PdFPCVT350# CHECK-NEXT: [7.0] - PdFPFMA351# CHECK-NEXT: [7.1] - PdFPFMA352# CHECK-NEXT: [8.0] - PdFPMAL353# CHECK-NEXT: [8.1] - PdFPMAL354# CHECK-NEXT: [9] - PdFPMMA355# CHECK-NEXT: [10] - PdFPSTO356# CHECK-NEXT: [11] - PdFPU0357# CHECK-NEXT: [12] - PdFPU1358# CHECK-NEXT: [13] - PdFPU2359# CHECK-NEXT: [14] - PdFPU3360# CHECK-NEXT: [15] - PdFPXBR361# CHECK-NEXT: [16.0] - PdLoad362# CHECK-NEXT: [16.1] - PdLoad363# CHECK-NEXT: [17] - PdMul364# CHECK-NEXT: [18] - PdStore365 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), %esp373# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movl (%rcx), %ebp374# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - movl (%rdx), %esi375# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movl (%rbx), %edi376 377# CHECK: Timeline view:378# CHECK-NEXT: Index 0123456789379 380# CHECK: [0,0] DeeeeeER . movl (%rax), %esp381# CHECK-NEXT: [0,1] DeeeeeER . movl (%rcx), %ebp382# CHECK-NEXT: [0,2] D==eeeeeER movl (%rdx), %esi383# CHECK-NEXT: [0,3] D==eeeeeER movl (%rbx), %edi384 385# CHECK: Average Wait times (based on the timeline view):386# CHECK-NEXT: [0]: Executions387# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue388# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready389# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage390 391# CHECK: [0] [1] [2] [3]392# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movl (%rax), %esp393# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movl (%rcx), %ebp394# CHECK-NEXT: 2. 1 3.0 3.0 0.0 movl (%rdx), %esi395# CHECK-NEXT: 3. 1 3.0 3.0 0.0 movl (%rbx), %edi396# CHECK-NEXT: 1 2.0 2.0 0.0 <total>397 398# CHECK: [3] Code Region399 400# CHECK: Iterations: 100401# CHECK-NEXT: Instructions: 400402# CHECK-NEXT: Total Cycles: 406403# CHECK-NEXT: Total uOps: 400404 405# CHECK: Dispatch Width: 4406# CHECK-NEXT: uOps Per Cycle: 0.99407# CHECK-NEXT: IPC: 0.99408# CHECK-NEXT: Block RThroughput: 4.0409 410# CHECK: Instruction Info:411# CHECK-NEXT: [1]: #uOps412# CHECK-NEXT: [2]: Latency413# CHECK-NEXT: [3]: RThroughput414# CHECK-NEXT: [4]: MayLoad415# CHECK-NEXT: [5]: MayStore416# CHECK-NEXT: [6]: HasSideEffects (U)417 418# CHECK: [1] [2] [3] [4] [5] [6] Instructions:419# CHECK-NEXT: 1 5 1.00 * movq (%rax), %rsp420# CHECK-NEXT: 1 5 1.00 * movq (%rcx), %rbp421# CHECK-NEXT: 1 5 1.00 * movq (%rdx), %rsi422# CHECK-NEXT: 1 5 1.00 * movq (%rbx), %rdi423 424# CHECK: Dynamic Dispatch Stall Cycles:425# CHECK-NEXT: RAT - Register unavailable: 0426# CHECK-NEXT: RCU - Retire tokens unavailable: 0427# CHECK-NEXT: SCHEDQ - Scheduler full: 0428# CHECK-NEXT: LQ - Load queue full: 354 (87.2%)429# CHECK-NEXT: SQ - Store queue full: 0430# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0431# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0432 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 40452# CHECK-NEXT: PdFPU 0 0 64453# CHECK-NEXT: PdLoad 36 40 40454# CHECK-NEXT: PdStore 0 0 24455 456# CHECK: Resources:457# CHECK-NEXT: [0.0] - PdAGLU01458# CHECK-NEXT: [0.1] - PdAGLU01459# CHECK-NEXT: [1] - PdBranch460# CHECK-NEXT: [2] - PdCount461# CHECK-NEXT: [3] - PdDiv462# CHECK-NEXT: [4] - PdEX0463# CHECK-NEXT: [5] - PdEX1464# CHECK-NEXT: [6] - PdFPCVT465# CHECK-NEXT: [7.0] - PdFPFMA466# CHECK-NEXT: [7.1] - PdFPFMA467# CHECK-NEXT: [8.0] - PdFPMAL468# CHECK-NEXT: [8.1] - PdFPMAL469# CHECK-NEXT: [9] - PdFPMMA470# CHECK-NEXT: [10] - PdFPSTO471# CHECK-NEXT: [11] - PdFPU0472# CHECK-NEXT: [12] - PdFPU1473# CHECK-NEXT: [13] - PdFPU2474# CHECK-NEXT: [14] - PdFPU3475# CHECK-NEXT: [15] - PdFPXBR476# CHECK-NEXT: [16.0] - PdLoad477# CHECK-NEXT: [16.1] - PdLoad478# CHECK-NEXT: [17] - PdMul479# CHECK-NEXT: [18] - PdStore480 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), %rsp488# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movq (%rcx), %rbp489# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - movq (%rdx), %rsi490# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - 2.00 - - - movq (%rbx), %rdi491 492# CHECK: Timeline view:493# CHECK-NEXT: Index 0123456789494 495# CHECK: [0,0] DeeeeeER . movq (%rax), %rsp496# CHECK-NEXT: [0,1] DeeeeeER . movq (%rcx), %rbp497# CHECK-NEXT: [0,2] D==eeeeeER movq (%rdx), %rsi498# CHECK-NEXT: [0,3] D==eeeeeER movq (%rbx), %rdi499 500# CHECK: Average Wait times (based on the timeline view):501# CHECK-NEXT: [0]: Executions502# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue503# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready504# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage505 506# CHECK: [0] [1] [2] [3]507# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movq (%rax), %rsp508# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movq (%rcx), %rbp509# CHECK-NEXT: 2. 1 3.0 3.0 0.0 movq (%rdx), %rsi510# CHECK-NEXT: 3. 1 3.0 3.0 0.0 movq (%rbx), %rdi511# CHECK-NEXT: 1 2.0 2.0 0.0 <total>512 513# CHECK: [4] Code Region514 515# CHECK: Iterations: 100516# CHECK-NEXT: Instructions: 400517# CHECK-NEXT: Total Cycles: 605518# CHECK-NEXT: Total uOps: 400519 520# CHECK: Dispatch Width: 4521# CHECK-NEXT: uOps Per Cycle: 0.66522# CHECK-NEXT: IPC: 0.66523# CHECK-NEXT: Block RThroughput: 6.0524 525# CHECK: Instruction Info:526# CHECK-NEXT: [1]: #uOps527# CHECK-NEXT: [2]: Latency528# CHECK-NEXT: [3]: RThroughput529# CHECK-NEXT: [4]: MayLoad530# CHECK-NEXT: [5]: MayStore531# CHECK-NEXT: [6]: HasSideEffects (U)532 533# CHECK: [1] [2] [3] [4] [5] [6] Instructions:534# CHECK-NEXT: 1 5 1.50 * movd (%rax), %mm0535# CHECK-NEXT: 1 5 1.50 * movd (%rcx), %mm1536# CHECK-NEXT: 1 5 1.50 * movd (%rdx), %mm2537# CHECK-NEXT: 1 5 1.50 * movd (%rbx), %mm3538 539# CHECK: Dynamic Dispatch Stall Cycles:540# CHECK-NEXT: RAT - Register unavailable: 0541# CHECK-NEXT: RCU - Retire tokens unavailable: 0542# CHECK-NEXT: SCHEDQ - Scheduler full: 0543# CHECK-NEXT: LQ - Load queue full: 533 (88.1%)544# CHECK-NEXT: SQ - Store queue full: 0545# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0546# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0547 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 40567# CHECK-NEXT: PdFPU 33 36 64568# CHECK-NEXT: PdLoad 37 40 40569# CHECK-NEXT: PdStore 0 0 24570 571# CHECK: Resources:572# CHECK-NEXT: [0.0] - PdAGLU01573# CHECK-NEXT: [0.1] - PdAGLU01574# CHECK-NEXT: [1] - PdBranch575# CHECK-NEXT: [2] - PdCount576# CHECK-NEXT: [3] - PdDiv577# CHECK-NEXT: [4] - PdEX0578# CHECK-NEXT: [5] - PdEX1579# CHECK-NEXT: [6] - PdFPCVT580# CHECK-NEXT: [7.0] - PdFPFMA581# CHECK-NEXT: [7.1] - PdFPFMA582# CHECK-NEXT: [8.0] - PdFPMAL583# CHECK-NEXT: [8.1] - PdFPMAL584# CHECK-NEXT: [9] - PdFPMMA585# CHECK-NEXT: [10] - PdFPSTO586# CHECK-NEXT: [11] - PdFPU0587# CHECK-NEXT: [12] - PdFPU1588# CHECK-NEXT: [13] - PdFPU2589# CHECK-NEXT: [14] - PdFPU3590# CHECK-NEXT: [15] - PdFPXBR591# CHECK-NEXT: [16.0] - PdLoad592# CHECK-NEXT: [16.1] - PdLoad593# CHECK-NEXT: [17] - PdMul594# CHECK-NEXT: [18] - PdStore595 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), %mm0603# CHECK-NEXT: 3.00 - - - - - - - - - 3.00 - - - 1.00 - - - - 3.00 - - - movd (%rcx), %mm1604# CHECK-NEXT: - 3.00 - - - - - - - - - 3.00 - - - 1.00 - - - - 3.00 - - movd (%rdx), %mm2605# CHECK-NEXT: 3.00 - - - - - - - - - 3.00 - - - 1.00 - - - - 3.00 - - - movd (%rbx), %mm3606 607# CHECK: Timeline view:608# CHECK-NEXT: 0609# CHECK-NEXT: Index 0123456789610 611# CHECK: [0,0] DeeeeeER . movd (%rax), %mm0612# CHECK-NEXT: [0,1] DeeeeeER . movd (%rcx), %mm1613# CHECK-NEXT: [0,2] D===eeeeeER movd (%rdx), %mm2614# CHECK-NEXT: [0,3] D===eeeeeER movd (%rbx), %mm3615 616# CHECK: Average Wait times (based on the timeline view):617# CHECK-NEXT: [0]: Executions618# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue619# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready620# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage621 622# CHECK: [0] [1] [2] [3]623# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movd (%rax), %mm0624# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movd (%rcx), %mm1625# CHECK-NEXT: 2. 1 4.0 4.0 0.0 movd (%rdx), %mm2626# CHECK-NEXT: 3. 1 4.0 4.0 0.0 movd (%rbx), %mm3627# CHECK-NEXT: 1 2.5 2.5 0.0 <total>628 629# CHECK: [5] Code Region630 631# CHECK: Iterations: 100632# CHECK-NEXT: Instructions: 400633# CHECK-NEXT: Total Cycles: 605634# CHECK-NEXT: Total uOps: 400635 636# CHECK: Dispatch Width: 4637# CHECK-NEXT: uOps Per Cycle: 0.66638# CHECK-NEXT: IPC: 0.66639# CHECK-NEXT: Block RThroughput: 6.0640 641# CHECK: Instruction Info:642# CHECK-NEXT: [1]: #uOps643# CHECK-NEXT: [2]: Latency644# CHECK-NEXT: [3]: RThroughput645# CHECK-NEXT: [4]: MayLoad646# CHECK-NEXT: [5]: MayStore647# CHECK-NEXT: [6]: HasSideEffects (U)648 649# CHECK: [1] [2] [3] [4] [5] [6] Instructions:650# CHECK-NEXT: 1 5 1.50 * movaps (%rax), %xmm0651# CHECK-NEXT: 1 5 1.50 * movaps (%rcx), %xmm1652# CHECK-NEXT: 1 5 1.50 * movaps (%rdx), %xmm2653# CHECK-NEXT: 1 5 1.50 * movaps (%rbx), %xmm3654 655# CHECK: Dynamic Dispatch Stall Cycles:656# CHECK-NEXT: RAT - Register unavailable: 0657# CHECK-NEXT: RCU - Retire tokens unavailable: 0658# CHECK-NEXT: SCHEDQ - Scheduler full: 0659# CHECK-NEXT: LQ - Load queue full: 533 (88.1%)660# CHECK-NEXT: SQ - Store queue full: 0661# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0662# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0663 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 40683# CHECK-NEXT: PdFPU 33 36 64684# CHECK-NEXT: PdLoad 37 40 40685# CHECK-NEXT: PdStore 0 0 24686 687# CHECK: Resources:688# CHECK-NEXT: [0.0] - PdAGLU01689# CHECK-NEXT: [0.1] - PdAGLU01690# CHECK-NEXT: [1] - PdBranch691# CHECK-NEXT: [2] - PdCount692# CHECK-NEXT: [3] - PdDiv693# CHECK-NEXT: [4] - PdEX0694# CHECK-NEXT: [5] - PdEX1695# CHECK-NEXT: [6] - PdFPCVT696# CHECK-NEXT: [7.0] - PdFPFMA697# CHECK-NEXT: [7.1] - PdFPFMA698# CHECK-NEXT: [8.0] - PdFPMAL699# CHECK-NEXT: [8.1] - PdFPMAL700# CHECK-NEXT: [9] - PdFPMMA701# CHECK-NEXT: [10] - PdFPSTO702# CHECK-NEXT: [11] - PdFPU0703# CHECK-NEXT: [12] - PdFPU1704# CHECK-NEXT: [13] - PdFPU2705# CHECK-NEXT: [14] - PdFPU3706# CHECK-NEXT: [15] - PdFPXBR707# CHECK-NEXT: [16.0] - PdLoad708# CHECK-NEXT: [16.1] - PdLoad709# CHECK-NEXT: [17] - PdMul710# CHECK-NEXT: [18] - PdStore711 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), %xmm0719# CHECK-NEXT: 3.00 - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - - movaps (%rcx), %xmm1720# CHECK-NEXT: - 3.00 - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - movaps (%rdx), %xmm2721# CHECK-NEXT: 3.00 - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - - movaps (%rbx), %xmm3722 723# CHECK: Timeline view:724# CHECK-NEXT: 0725# CHECK-NEXT: Index 0123456789726 727# CHECK: [0,0] DeeeeeER . movaps (%rax), %xmm0728# CHECK-NEXT: [0,1] DeeeeeER . movaps (%rcx), %xmm1729# CHECK-NEXT: [0,2] D===eeeeeER movaps (%rdx), %xmm2730# CHECK-NEXT: [0,3] D===eeeeeER movaps (%rbx), %xmm3731 732# CHECK: Average Wait times (based on the timeline view):733# CHECK-NEXT: [0]: Executions734# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue735# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready736# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage737 738# CHECK: [0] [1] [2] [3]739# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movaps (%rax), %xmm0740# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movaps (%rcx), %xmm1741# CHECK-NEXT: 2. 1 4.0 4.0 0.0 movaps (%rdx), %xmm2742# CHECK-NEXT: 3. 1 4.0 4.0 0.0 movaps (%rbx), %xmm3743# CHECK-NEXT: 1 2.5 2.5 0.0 <total>744 745# CHECK: [6] Code Region746 747# CHECK: Iterations: 100748# CHECK-NEXT: Instructions: 400749# CHECK-NEXT: Total Cycles: 605750# CHECK-NEXT: Total uOps: 800751 752# CHECK: Dispatch Width: 4753# CHECK-NEXT: uOps Per Cycle: 1.32754# CHECK-NEXT: IPC: 0.66755# CHECK-NEXT: Block RThroughput: 6.0756 757# CHECK: Instruction Info:758# CHECK-NEXT: [1]: #uOps759# CHECK-NEXT: [2]: Latency760# CHECK-NEXT: [3]: RThroughput761# CHECK-NEXT: [4]: MayLoad762# CHECK-NEXT: [5]: MayStore763# CHECK-NEXT: [6]: HasSideEffects (U)764 765# CHECK: [1] [2] [3] [4] [5] [6] Instructions:766# CHECK-NEXT: 2 5 1.50 * vmovaps (%rax), %ymm0767# CHECK-NEXT: 2 5 1.50 * vmovaps (%rcx), %ymm1768# CHECK-NEXT: 2 5 1.50 * vmovaps (%rdx), %ymm2769# CHECK-NEXT: 2 5 1.50 * vmovaps (%rbx), %ymm3770 771# CHECK: Dynamic Dispatch Stall Cycles:772# CHECK-NEXT: RAT - Register unavailable: 0773# CHECK-NEXT: RCU - Retire tokens unavailable: 0774# CHECK-NEXT: SCHEDQ - Scheduler full: 0775# CHECK-NEXT: LQ - Load queue full: 345 (57.0%)776# CHECK-NEXT: SQ - Store queue full: 0777# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0778# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0779 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 40798# CHECK-NEXT: PdFPU 33 36 64799# CHECK-NEXT: PdLoad 36 40 40800# CHECK-NEXT: PdStore 0 0 24801 802# CHECK: Resources:803# CHECK-NEXT: [0.0] - PdAGLU01804# CHECK-NEXT: [0.1] - PdAGLU01805# CHECK-NEXT: [1] - PdBranch806# CHECK-NEXT: [2] - PdCount807# CHECK-NEXT: [3] - PdDiv808# CHECK-NEXT: [4] - PdEX0809# CHECK-NEXT: [5] - PdEX1810# CHECK-NEXT: [6] - PdFPCVT811# CHECK-NEXT: [7.0] - PdFPFMA812# CHECK-NEXT: [7.1] - PdFPFMA813# CHECK-NEXT: [8.0] - PdFPMAL814# CHECK-NEXT: [8.1] - PdFPMAL815# CHECK-NEXT: [9] - PdFPMMA816# CHECK-NEXT: [10] - PdFPSTO817# CHECK-NEXT: [11] - PdFPU0818# CHECK-NEXT: [12] - PdFPU1819# CHECK-NEXT: [13] - PdFPU2820# CHECK-NEXT: [14] - PdFPU3821# CHECK-NEXT: [15] - PdFPXBR822# CHECK-NEXT: [16.0] - PdLoad823# CHECK-NEXT: [16.1] - PdLoad824# CHECK-NEXT: [17] - PdMul825# CHECK-NEXT: [18] - PdStore826 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), %ymm0834# CHECK-NEXT: 3.00 - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - - vmovaps (%rcx), %ymm1835# CHECK-NEXT: - 3.00 - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - vmovaps (%rdx), %ymm2836# CHECK-NEXT: 3.00 - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - - vmovaps (%rbx), %ymm3837 838# CHECK: Timeline view:839# CHECK-NEXT: 0840# CHECK-NEXT: Index 0123456789841 842# CHECK: [0,0] DeeeeeER . vmovaps (%rax), %ymm0843# CHECK-NEXT: [0,1] DeeeeeER . vmovaps (%rcx), %ymm1844# CHECK-NEXT: [0,2] .D==eeeeeER vmovaps (%rdx), %ymm2845# CHECK-NEXT: [0,3] .D==eeeeeER vmovaps (%rbx), %ymm3846 847# CHECK: Average Wait times (based on the timeline view):848# CHECK-NEXT: [0]: Executions849# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue850# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready851# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage852 853# CHECK: [0] [1] [2] [3]854# CHECK-NEXT: 0. 1 1.0 1.0 0.0 vmovaps (%rax), %ymm0855# CHECK-NEXT: 1. 1 1.0 1.0 0.0 vmovaps (%rcx), %ymm1856# CHECK-NEXT: 2. 1 3.0 3.0 0.0 vmovaps (%rdx), %ymm2857# CHECK-NEXT: 3. 1 3.0 3.0 0.0 vmovaps (%rbx), %ymm3858# CHECK-NEXT: 1 2.0 2.0 0.0 <total>859