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 %spl, (%rax)6movb %bpl, (%rcx)7movb %sil, (%rdx)8movb %dil, (%rbx)9# LLVM-MCA-END10 11# LLVM-MCA-BEGIN12movw %sp, (%rax)13movw %bp, (%rcx)14movw %si, (%rdx)15movw %di, (%rbx)16# LLVM-MCA-END17 18# LLVM-MCA-BEGIN19movl %esp, (%rax)20movl %ebp, (%rcx)21movl %esi, (%rdx)22movl %edi, (%rbx)23# LLVM-MCA-END24 25# LLVM-MCA-BEGIN26movq %rsp, (%rax)27movq %rbp, (%rcx)28movq %rsi, (%rdx)29movq %rdi, (%rbx)30# LLVM-MCA-END31 32# LLVM-MCA-BEGIN33movd %mm0, (%rax)34movd %mm1, (%rcx)35movd %mm2, (%rdx)36movd %mm3, (%rbx)37# LLVM-MCA-END38 39# LLVM-MCA-BEGIN40movaps %xmm0, (%rax)41movaps %xmm1, (%rcx)42movaps %xmm2, (%rdx)43movaps %xmm3, (%rbx)44# LLVM-MCA-END45 46# LLVM-MCA-BEGIN47vmovaps %ymm0, (%rax)48vmovaps %ymm1, (%rcx)49vmovaps %ymm2, (%rdx)50vmovaps %ymm3, (%rbx)51# LLVM-MCA-END52 53# CHECK: [0] Code Region54 55# CHECK: Iterations: 10056# CHECK-NEXT: Instructions: 40057# CHECK-NEXT: Total Cycles: 40358# 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 1 1.00 * movb %spl, (%rax)75# CHECK-NEXT: 1 1 1.00 * movb %bpl, (%rcx)76# CHECK-NEXT: 1 1 1.00 * movb %sil, (%rdx)77# CHECK-NEXT: 1 1 1.00 * movb %dil, (%rbx)78 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: 084# CHECK-NEXT: SQ - Store queue full: 371 (92.1%)85# 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, 24 (6.0%)91# CHECK-NEXT: 1, 372 (92.3%)92# CHECK-NEXT: 4, 7 (1.7%)93 94# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:95# CHECK-NEXT: [# issued], [# cycles]96# CHECK-NEXT: 0, 3 (0.7%)97# CHECK-NEXT: 1, 400 (99.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 21 22 40107# CHECK-NEXT: PdFPU 0 0 64108# CHECK-NEXT: PdLoad 0 0 40109# CHECK-NEXT: PdStore 22 23 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: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00139 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: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %spl, (%rax)143# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movb %bpl, (%rcx)144# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %sil, (%rdx)145# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movb %dil, (%rbx)146 147# CHECK: Timeline view:148# CHECK-NEXT: Index 0123456149 150# CHECK: [0,0] DeER .. movb %spl, (%rax)151# CHECK-NEXT: [0,1] D=eER.. movb %bpl, (%rcx)152# CHECK-NEXT: [0,2] D==eER. movb %sil, (%rdx)153# CHECK-NEXT: [0,3] D===eER movb %dil, (%rbx)154 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 %spl, (%rax)163# CHECK-NEXT: 1. 1 2.0 1.0 0.0 movb %bpl, (%rcx)164# CHECK-NEXT: 2. 1 3.0 1.0 0.0 movb %sil, (%rdx)165# CHECK-NEXT: 3. 1 4.0 1.0 0.0 movb %dil, (%rbx)166# CHECK-NEXT: 1 2.5 1.0 0.0 <total>167 168# CHECK: [1] Code Region169 170# CHECK: Iterations: 100171# CHECK-NEXT: Instructions: 400172# CHECK-NEXT: Total Cycles: 403173# 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 1 1.00 * movw %sp, (%rax)190# CHECK-NEXT: 1 1 1.00 * movw %bp, (%rcx)191# CHECK-NEXT: 1 1 1.00 * movw %si, (%rdx)192# CHECK-NEXT: 1 1 1.00 * movw %di, (%rbx)193 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: 0199# CHECK-NEXT: SQ - Store queue full: 371 (92.1%)200# 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, 24 (6.0%)206# CHECK-NEXT: 1, 372 (92.3%)207# CHECK-NEXT: 4, 7 (1.7%)208 209# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:210# CHECK-NEXT: [# issued], [# cycles]211# CHECK-NEXT: 0, 3 (0.7%)212# CHECK-NEXT: 1, 400 (99.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 21 22 40222# CHECK-NEXT: PdFPU 0 0 64223# CHECK-NEXT: PdLoad 0 0 40224# CHECK-NEXT: PdStore 22 23 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: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00254 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: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %sp, (%rax)258# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movw %bp, (%rcx)259# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %si, (%rdx)260# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movw %di, (%rbx)261 262# CHECK: Timeline view:263# CHECK-NEXT: Index 0123456264 265# CHECK: [0,0] DeER .. movw %sp, (%rax)266# CHECK-NEXT: [0,1] D=eER.. movw %bp, (%rcx)267# CHECK-NEXT: [0,2] D==eER. movw %si, (%rdx)268# CHECK-NEXT: [0,3] D===eER movw %di, (%rbx)269 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 %sp, (%rax)278# CHECK-NEXT: 1. 1 2.0 1.0 0.0 movw %bp, (%rcx)279# CHECK-NEXT: 2. 1 3.0 1.0 0.0 movw %si, (%rdx)280# CHECK-NEXT: 3. 1 4.0 1.0 0.0 movw %di, (%rbx)281# CHECK-NEXT: 1 2.5 1.0 0.0 <total>282 283# CHECK: [2] Code Region284 285# CHECK: Iterations: 100286# CHECK-NEXT: Instructions: 400287# CHECK-NEXT: Total Cycles: 403288# 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 1 1.00 * movl %esp, (%rax)305# CHECK-NEXT: 1 1 1.00 * movl %ebp, (%rcx)306# CHECK-NEXT: 1 1 1.00 * movl %esi, (%rdx)307# CHECK-NEXT: 1 1 1.00 * movl %edi, (%rbx)308 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: 0314# CHECK-NEXT: SQ - Store queue full: 371 (92.1%)315# 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, 24 (6.0%)321# CHECK-NEXT: 1, 372 (92.3%)322# CHECK-NEXT: 4, 7 (1.7%)323 324# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:325# CHECK-NEXT: [# issued], [# cycles]326# CHECK-NEXT: 0, 3 (0.7%)327# CHECK-NEXT: 1, 400 (99.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 21 22 40337# CHECK-NEXT: PdFPU 0 0 64338# CHECK-NEXT: PdLoad 0 0 40339# CHECK-NEXT: PdStore 22 23 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: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00369 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: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %esp, (%rax)373# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movl %ebp, (%rcx)374# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %esi, (%rdx)375# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movl %edi, (%rbx)376 377# CHECK: Timeline view:378# CHECK-NEXT: Index 0123456379 380# CHECK: [0,0] DeER .. movl %esp, (%rax)381# CHECK-NEXT: [0,1] D=eER.. movl %ebp, (%rcx)382# CHECK-NEXT: [0,2] D==eER. movl %esi, (%rdx)383# CHECK-NEXT: [0,3] D===eER movl %edi, (%rbx)384 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 %esp, (%rax)393# CHECK-NEXT: 1. 1 2.0 1.0 0.0 movl %ebp, (%rcx)394# CHECK-NEXT: 2. 1 3.0 1.0 0.0 movl %esi, (%rdx)395# CHECK-NEXT: 3. 1 4.0 1.0 0.0 movl %edi, (%rbx)396# CHECK-NEXT: 1 2.5 1.0 0.0 <total>397 398# CHECK: [3] Code Region399 400# CHECK: Iterations: 100401# CHECK-NEXT: Instructions: 400402# CHECK-NEXT: Total Cycles: 403403# 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 1 1.00 * movq %rsp, (%rax)420# CHECK-NEXT: 1 1 1.00 * movq %rbp, (%rcx)421# CHECK-NEXT: 1 1 1.00 * movq %rsi, (%rdx)422# CHECK-NEXT: 1 1 1.00 * movq %rdi, (%rbx)423 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: 0429# CHECK-NEXT: SQ - Store queue full: 371 (92.1%)430# 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, 24 (6.0%)436# CHECK-NEXT: 1, 372 (92.3%)437# CHECK-NEXT: 4, 7 (1.7%)438 439# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:440# CHECK-NEXT: [# issued], [# cycles]441# CHECK-NEXT: 0, 3 (0.7%)442# CHECK-NEXT: 1, 400 (99.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 21 22 40452# CHECK-NEXT: PdFPU 0 0 64453# CHECK-NEXT: PdLoad 0 0 40454# CHECK-NEXT: PdStore 22 23 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: 2.00 2.00 - - - - - - - - - - - - - - - - - - - - 4.00484 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: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rsp, (%rax)488# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movq %rbp, (%rcx)489# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rsi, (%rdx)490# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movq %rdi, (%rbx)491 492# CHECK: Timeline view:493# CHECK-NEXT: Index 0123456494 495# CHECK: [0,0] DeER .. movq %rsp, (%rax)496# CHECK-NEXT: [0,1] D=eER.. movq %rbp, (%rcx)497# CHECK-NEXT: [0,2] D==eER. movq %rsi, (%rdx)498# CHECK-NEXT: [0,3] D===eER movq %rdi, (%rbx)499 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 %rsp, (%rax)508# CHECK-NEXT: 1. 1 2.0 1.0 0.0 movq %rbp, (%rcx)509# CHECK-NEXT: 2. 1 3.0 1.0 0.0 movq %rsi, (%rdx)510# CHECK-NEXT: 3. 1 4.0 1.0 0.0 movq %rdi, (%rbx)511# CHECK-NEXT: 1 2.5 1.0 0.0 <total>512 513# CHECK: [4] Code Region514 515# CHECK: Iterations: 100516# CHECK-NEXT: Instructions: 400517# CHECK-NEXT: Total Cycles: 603518# 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 2 1.50 * U movd %mm0, (%rax)535# CHECK-NEXT: 1 2 1.50 * U movd %mm1, (%rcx)536# CHECK-NEXT: 1 2 1.50 * U movd %mm2, (%rdx)537# CHECK-NEXT: 1 2 1.50 * U movd %mm3, (%rbx)538 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: 0544# CHECK-NEXT: SQ - Store queue full: 560 (92.9%)545# 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, 222 (36.8%)551# CHECK-NEXT: 1, 374 (62.0%)552# CHECK-NEXT: 2, 1 (0.2%)553# CHECK-NEXT: 4, 6 (1.0%)554 555# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:556# CHECK-NEXT: [# issued], [# cycles]557# CHECK-NEXT: 0, 203 (33.7%)558# CHECK-NEXT: 1, 400 (66.3%)559 560# CHECK: Scheduler's queue usage:561# CHECK-NEXT: [1] Resource name.562# CHECK-NEXT: [2] Average number of used buffer entries.563# CHECK-NEXT: [3] Maximum number of used buffer entries.564# CHECK-NEXT: [4] Total number of buffer entries.565 566# CHECK: [1] [2] [3] [4]567# CHECK-NEXT: PdEX 21 22 40568# CHECK-NEXT: PdFPU 21 22 64569# CHECK-NEXT: PdLoad 0 0 40570# CHECK-NEXT: PdStore 22 24 24571 572# CHECK: Resources:573# CHECK-NEXT: [0.0] - PdAGLU01574# CHECK-NEXT: [0.1] - PdAGLU01575# CHECK-NEXT: [1] - PdBranch576# CHECK-NEXT: [2] - PdCount577# CHECK-NEXT: [3] - PdDiv578# CHECK-NEXT: [4] - PdEX0579# CHECK-NEXT: [5] - PdEX1580# CHECK-NEXT: [6] - PdFPCVT581# CHECK-NEXT: [7.0] - PdFPFMA582# CHECK-NEXT: [7.1] - PdFPFMA583# CHECK-NEXT: [8.0] - PdFPMAL584# CHECK-NEXT: [8.1] - PdFPMAL585# CHECK-NEXT: [9] - PdFPMMA586# CHECK-NEXT: [10] - PdFPSTO587# CHECK-NEXT: [11] - PdFPU0588# CHECK-NEXT: [12] - PdFPU1589# CHECK-NEXT: [13] - PdFPU2590# CHECK-NEXT: [14] - PdFPU3591# CHECK-NEXT: [15] - PdFPXBR592# CHECK-NEXT: [16.0] - PdLoad593# CHECK-NEXT: [16.1] - PdLoad594# CHECK-NEXT: [17] - PdMul595# CHECK-NEXT: [18] - PdStore596 597# CHECK: Resource pressure per iteration:598# 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]599# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - 4.00 - - 6.00 6.00 - - - - 4.00600 601# CHECK: Resource pressure by instruction:602# 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:603# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - - - 3.00 - - - - 1.00 movd %mm0, (%rax)604# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - - 3.00 - - - - - 1.00 movd %mm1, (%rcx)605# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - - - 3.00 - - - - 1.00 movd %mm2, (%rdx)606# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - - 3.00 - - - - - 1.00 movd %mm3, (%rbx)607 608# CHECK: Timeline view:609# CHECK-NEXT: Index 012345678610 611# CHECK: [0,0] DeeER. . movd %mm0, (%rax)612# CHECK-NEXT: [0,1] D=eeER . movd %mm1, (%rcx)613# CHECK-NEXT: [0,2] D===eeER. movd %mm2, (%rdx)614# CHECK-NEXT: [0,3] D====eeER movd %mm3, (%rbx)615 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 %mm0, (%rax)624# CHECK-NEXT: 1. 1 2.0 1.0 0.0 movd %mm1, (%rcx)625# CHECK-NEXT: 2. 1 4.0 2.0 0.0 movd %mm2, (%rdx)626# CHECK-NEXT: 3. 1 5.0 1.0 0.0 movd %mm3, (%rbx)627# CHECK-NEXT: 1 3.0 1.3 0.0 <total>628 629# CHECK: [5] Code Region630 631# CHECK: Iterations: 100632# CHECK-NEXT: Instructions: 400633# CHECK-NEXT: Total Cycles: 602634# 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 1 1.50 * movaps %xmm0, (%rax)651# CHECK-NEXT: 1 1 1.50 * movaps %xmm1, (%rcx)652# CHECK-NEXT: 1 1 1.50 * movaps %xmm2, (%rdx)653# CHECK-NEXT: 1 1 1.50 * movaps %xmm3, (%rbx)654 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: 0660# CHECK-NEXT: SQ - Store queue full: 559 (92.9%)661# 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, 222 (36.9%)667# CHECK-NEXT: 1, 373 (62.0%)668# CHECK-NEXT: 3, 1 (0.2%)669# CHECK-NEXT: 4, 6 (1.0%)670 671# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:672# CHECK-NEXT: [# issued], [# cycles]673# CHECK-NEXT: 0, 202 (33.6%)674# CHECK-NEXT: 1, 400 (66.4%)675 676# CHECK: Scheduler's queue usage:677# CHECK-NEXT: [1] Resource name.678# CHECK-NEXT: [2] Average number of used buffer entries.679# CHECK-NEXT: [3] Maximum number of used buffer entries.680# CHECK-NEXT: [4] Total number of buffer entries.681 682# CHECK: [1] [2] [3] [4]683# CHECK-NEXT: PdEX 21 23 40684# CHECK-NEXT: PdFPU 21 23 64685# CHECK-NEXT: PdLoad 0 0 40686# CHECK-NEXT: PdStore 22 24 24687 688# CHECK: Resources:689# CHECK-NEXT: [0.0] - PdAGLU01690# CHECK-NEXT: [0.1] - PdAGLU01691# CHECK-NEXT: [1] - PdBranch692# CHECK-NEXT: [2] - PdCount693# CHECK-NEXT: [3] - PdDiv694# CHECK-NEXT: [4] - PdEX0695# CHECK-NEXT: [5] - PdEX1696# CHECK-NEXT: [6] - PdFPCVT697# CHECK-NEXT: [7.0] - PdFPFMA698# CHECK-NEXT: [7.1] - PdFPFMA699# CHECK-NEXT: [8.0] - PdFPMAL700# CHECK-NEXT: [8.1] - PdFPMAL701# CHECK-NEXT: [9] - PdFPMMA702# CHECK-NEXT: [10] - PdFPSTO703# CHECK-NEXT: [11] - PdFPU0704# CHECK-NEXT: [12] - PdFPU1705# CHECK-NEXT: [13] - PdFPU2706# CHECK-NEXT: [14] - PdFPU3707# CHECK-NEXT: [15] - PdFPXBR708# CHECK-NEXT: [16.0] - PdLoad709# CHECK-NEXT: [16.1] - PdLoad710# CHECK-NEXT: [17] - PdMul711# CHECK-NEXT: [18] - PdStore712 713# CHECK: Resource pressure per iteration:714# 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]715# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - 4.00 - - 6.00 6.00 - - - - 4.00716 717# CHECK: Resource pressure by instruction:718# 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:719# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - - - 3.00 - - - - 1.00 movaps %xmm0, (%rax)720# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - - 3.00 - - - - - 1.00 movaps %xmm1, (%rcx)721# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - - - 3.00 - - - - 1.00 movaps %xmm2, (%rdx)722# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - - 3.00 - - - - - 1.00 movaps %xmm3, (%rbx)723 724# CHECK: Timeline view:725# CHECK-NEXT: Index 01234567726 727# CHECK: [0,0] DeER . . movaps %xmm0, (%rax)728# CHECK-NEXT: [0,1] D=eER. . movaps %xmm1, (%rcx)729# CHECK-NEXT: [0,2] D===eER. movaps %xmm2, (%rdx)730# CHECK-NEXT: [0,3] D====eER movaps %xmm3, (%rbx)731 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 %xmm0, (%rax)740# CHECK-NEXT: 1. 1 2.0 1.0 0.0 movaps %xmm1, (%rcx)741# CHECK-NEXT: 2. 1 4.0 2.0 0.0 movaps %xmm2, (%rdx)742# CHECK-NEXT: 3. 1 5.0 1.0 0.0 movaps %xmm3, (%rbx)743# CHECK-NEXT: 1 3.0 1.3 0.0 <total>744 745# CHECK: [6] Code Region746 747# CHECK: Iterations: 100748# CHECK-NEXT: Instructions: 400749# CHECK-NEXT: Total Cycles: 7170750# CHECK-NEXT: Total uOps: 1600751 752# CHECK: Dispatch Width: 4753# CHECK-NEXT: uOps Per Cycle: 0.22754# CHECK-NEXT: IPC: 0.06755# CHECK-NEXT: Block RThroughput: 72.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: 4 1 18.00 * vmovaps %ymm0, (%rax)767# CHECK-NEXT: 4 1 18.00 * vmovaps %ymm1, (%rcx)768# CHECK-NEXT: 4 1 18.00 * vmovaps %ymm2, (%rdx)769# CHECK-NEXT: 4 1 18.00 * vmovaps %ymm3, (%rbx)770 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: 5777 (80.6%)775# CHECK-NEXT: LQ - Load queue full: 0776# CHECK-NEXT: SQ - Store queue full: 561 (7.8%)777# 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, 6770 (94.4%)783# CHECK-NEXT: 4, 400 (5.6%)784 785# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:786# CHECK-NEXT: [# issued], [# cycles]787# CHECK-NEXT: 0, 6770 (94.4%)788# CHECK-NEXT: 4, 400 (5.6%)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 23 24 40798# CHECK-NEXT: PdFPU 23 24 64799# CHECK-NEXT: PdLoad 0 0 40800# CHECK-NEXT: PdStore 23 24 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: 2.00 2.00 - - - - - - - - - - - 8.00 - - 72.00 72.00 - - - - 4.00830 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: - 1.00 - - - - - - - - - - - 2.00 - - - 36.00 - - - - 1.00 vmovaps %ymm0, (%rax)834# CHECK-NEXT: 1.00 - - - - - - - - - - - - 2.00 - - 36.00 - - - - - 1.00 vmovaps %ymm1, (%rcx)835# CHECK-NEXT: - 1.00 - - - - - - - - - - - 2.00 - - - 36.00 - - - - 1.00 vmovaps %ymm2, (%rdx)836# CHECK-NEXT: 1.00 - - - - - - - - - - - - 2.00 - - 36.00 - - - - - 1.00 vmovaps %ymm3, (%rbx)837 838# CHECK: Timeline view:839# CHECK-NEXT: 0123456789 0123456789840# CHECK-NEXT: Index 0123456789 0123456789 01841 842# CHECK: [0,0] DeER . . . . . . . .. vmovaps %ymm0, (%rax)843# CHECK-NEXT: [0,1] .D=eER . . . . . . .. vmovaps %ymm1, (%rcx)844# CHECK-NEXT: [0,2] . D==================================eER.. vmovaps %ymm2, (%rdx)845# CHECK-NEXT: [0,3] . D===================================eER vmovaps %ymm3, (%rbx)846 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 %ymm0, (%rax)855# CHECK-NEXT: 1. 1 2.0 2.0 0.0 vmovaps %ymm1, (%rcx)856# CHECK-NEXT: 2. 1 35.0 34.0 0.0 vmovaps %ymm2, (%rdx)857# CHECK-NEXT: 3. 1 36.0 2.0 0.0 vmovaps %ymm3, (%rbx)858# CHECK-NEXT: 1 18.5 9.8 0.0 <total>859