751 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 (%rcx), %bpl7movb (%rdx), %sil8movb %dil, (%rbx)9# LLVM-MCA-END10 11# LLVM-MCA-BEGIN12movw %sp, (%rax)13movw (%rcx), %bp14movw (%rdx), %si15movw %di, (%rbx)16# LLVM-MCA-END17 18# LLVM-MCA-BEGIN19movl %esp, (%rax)20movl (%rcx), %ebp21movl (%rdx), %esi22movl %edi, (%rbx)23# LLVM-MCA-END24 25# LLVM-MCA-BEGIN26movq %rsp, (%rax)27movq (%rcx), %rbp28movq (%rdx), %rsi29movq %rdi, (%rbx)30# LLVM-MCA-END31 32# LLVM-MCA-BEGIN33movd %mm0, (%rax)34movd (%rcx), %mm135movd (%rdx), %mm236movd %mm3, (%rbx)37# LLVM-MCA-END38 39# LLVM-MCA-BEGIN40movaps %xmm0, (%rax)41movaps (%rcx), %xmm142movaps (%rdx), %xmm243movaps %xmm3, (%rbx)44# LLVM-MCA-END45 46# CHECK: [0] Code Region47 48# CHECK: Iterations: 10049# CHECK-NEXT: Instructions: 40050# CHECK-NEXT: Total Cycles: 30651# CHECK-NEXT: Total uOps: 40052 53# CHECK: Dispatch Width: 454# CHECK-NEXT: uOps Per Cycle: 1.3155# CHECK-NEXT: IPC: 1.3156# CHECK-NEXT: Block RThroughput: 3.057 58# CHECK: Instruction Info:59# CHECK-NEXT: [1]: #uOps60# CHECK-NEXT: [2]: Latency61# CHECK-NEXT: [3]: RThroughput62# CHECK-NEXT: [4]: MayLoad63# CHECK-NEXT: [5]: MayStore64# CHECK-NEXT: [6]: HasSideEffects (U)65 66# CHECK: [1] [2] [3] [4] [5] [6] Instructions:67# CHECK-NEXT: 1 1 1.00 * movb %spl, (%rax)68# CHECK-NEXT: 1 5 1.00 * movb (%rcx), %bpl69# CHECK-NEXT: 1 5 1.00 * movb (%rdx), %sil70# CHECK-NEXT: 1 1 1.00 * movb %dil, (%rbx)71 72# CHECK: Dynamic Dispatch Stall Cycles:73# CHECK-NEXT: RAT - Register unavailable: 074# CHECK-NEXT: RCU - Retire tokens unavailable: 075# CHECK-NEXT: SCHEDQ - Scheduler full: 256 (83.7%)76# CHECK-NEXT: LQ - Load queue full: 077# CHECK-NEXT: SQ - Store queue full: 078# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 079# CHECK-NEXT: USH - Uncategorised Structural Hazard: 080 81# CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:82# CHECK-NEXT: [# dispatched], [# cycles]83# CHECK-NEXT: 0, 35 (11.4%)84# CHECK-NEXT: 1, 171 (55.9%)85# CHECK-NEXT: 2, 85 (27.8%)86# CHECK-NEXT: 3, 1 (0.3%)87# CHECK-NEXT: 4, 14 (4.6%)88 89# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:90# CHECK-NEXT: [# issued], [# cycles]91# CHECK-NEXT: 0, 6 (2.0%)92# CHECK-NEXT: 1, 200 (65.4%)93# CHECK-NEXT: 2, 100 (32.7%)94 95# CHECK: Scheduler's queue usage:96# CHECK-NEXT: [1] Resource name.97# CHECK-NEXT: [2] Average number of used buffer entries.98# CHECK-NEXT: [3] Maximum number of used buffer entries.99# CHECK-NEXT: [4] Total number of buffer entries.100 101# CHECK: [1] [2] [3] [4]102# CHECK-NEXT: PdEX 36 40 40103# CHECK-NEXT: PdFPU 0 0 64104# CHECK-NEXT: PdLoad 21 24 40105# CHECK-NEXT: PdStore 18 21 24106 107# CHECK: Resources:108# CHECK-NEXT: [0.0] - PdAGLU01109# CHECK-NEXT: [0.1] - PdAGLU01110# CHECK-NEXT: [1] - PdBranch111# CHECK-NEXT: [2] - PdCount112# CHECK-NEXT: [3] - PdDiv113# CHECK-NEXT: [4] - PdEX0114# CHECK-NEXT: [5] - PdEX1115# CHECK-NEXT: [6] - PdFPCVT116# CHECK-NEXT: [7.0] - PdFPFMA117# CHECK-NEXT: [7.1] - PdFPFMA118# CHECK-NEXT: [8.0] - PdFPMAL119# CHECK-NEXT: [8.1] - PdFPMAL120# CHECK-NEXT: [9] - PdFPMMA121# CHECK-NEXT: [10] - PdFPSTO122# CHECK-NEXT: [11] - PdFPU0123# CHECK-NEXT: [12] - PdFPU1124# CHECK-NEXT: [13] - PdFPU2125# CHECK-NEXT: [14] - PdFPU3126# CHECK-NEXT: [15] - PdFPXBR127# CHECK-NEXT: [16.0] - PdLoad128# CHECK-NEXT: [16.1] - PdLoad129# CHECK-NEXT: [17] - PdMul130# CHECK-NEXT: [18] - PdStore131 132# CHECK: Resource pressure per iteration:133# 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]134# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - - - - - - 2.00 2.00 - 2.00135 136# CHECK: Resource pressure by instruction: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] Instructions:138# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movb %spl, (%rax)139# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - - 2.00 - - movb (%rcx), %bpl140# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - 2.00 - - - movb (%rdx), %sil141# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movb %dil, (%rbx)142 143# CHECK: Timeline view:144# CHECK-NEXT: Index 012345678145 146# CHECK: [0,0] DeER . . movb %spl, (%rax)147# CHECK-NEXT: [0,1] DeeeeeER. movb (%rcx), %bpl148# CHECK-NEXT: [0,2] D=eeeeeER movb (%rdx), %sil149# CHECK-NEXT: [0,3] D==eE---R movb %dil, (%rbx)150 151# CHECK: Average Wait times (based on the timeline view):152# CHECK-NEXT: [0]: Executions153# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue154# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready155# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage156 157# CHECK: [0] [1] [2] [3]158# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movb %spl, (%rax)159# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movb (%rcx), %bpl160# CHECK-NEXT: 2. 1 2.0 2.0 0.0 movb (%rdx), %sil161# CHECK-NEXT: 3. 1 3.0 1.0 3.0 movb %dil, (%rbx)162# CHECK-NEXT: 1 1.8 1.3 0.8 <total>163 164# CHECK: [1] Code Region165 166# CHECK: Iterations: 100167# CHECK-NEXT: Instructions: 400168# CHECK-NEXT: Total Cycles: 306169# CHECK-NEXT: Total uOps: 400170 171# CHECK: Dispatch Width: 4172# CHECK-NEXT: uOps Per Cycle: 1.31173# CHECK-NEXT: IPC: 1.31174# CHECK-NEXT: Block RThroughput: 3.0175 176# CHECK: Instruction Info:177# CHECK-NEXT: [1]: #uOps178# CHECK-NEXT: [2]: Latency179# CHECK-NEXT: [3]: RThroughput180# CHECK-NEXT: [4]: MayLoad181# CHECK-NEXT: [5]: MayStore182# CHECK-NEXT: [6]: HasSideEffects (U)183 184# CHECK: [1] [2] [3] [4] [5] [6] Instructions:185# CHECK-NEXT: 1 1 1.00 * movw %sp, (%rax)186# CHECK-NEXT: 1 5 1.00 * movw (%rcx), %bp187# CHECK-NEXT: 1 5 1.00 * movw (%rdx), %si188# CHECK-NEXT: 1 1 1.00 * movw %di, (%rbx)189 190# CHECK: Dynamic Dispatch Stall Cycles:191# CHECK-NEXT: RAT - Register unavailable: 0192# CHECK-NEXT: RCU - Retire tokens unavailable: 0193# CHECK-NEXT: SCHEDQ - Scheduler full: 256 (83.7%)194# CHECK-NEXT: LQ - Load queue full: 0195# CHECK-NEXT: SQ - Store queue full: 0196# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0197# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0198 199# CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:200# CHECK-NEXT: [# dispatched], [# cycles]201# CHECK-NEXT: 0, 35 (11.4%)202# CHECK-NEXT: 1, 171 (55.9%)203# CHECK-NEXT: 2, 85 (27.8%)204# CHECK-NEXT: 3, 1 (0.3%)205# CHECK-NEXT: 4, 14 (4.6%)206 207# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:208# CHECK-NEXT: [# issued], [# cycles]209# CHECK-NEXT: 0, 6 (2.0%)210# CHECK-NEXT: 1, 200 (65.4%)211# CHECK-NEXT: 2, 100 (32.7%)212 213# CHECK: Scheduler's queue usage:214# CHECK-NEXT: [1] Resource name.215# CHECK-NEXT: [2] Average number of used buffer entries.216# CHECK-NEXT: [3] Maximum number of used buffer entries.217# CHECK-NEXT: [4] Total number of buffer entries.218 219# CHECK: [1] [2] [3] [4]220# CHECK-NEXT: PdEX 36 40 40221# CHECK-NEXT: PdFPU 0 0 64222# CHECK-NEXT: PdLoad 21 24 40223# CHECK-NEXT: PdStore 18 21 24224 225# CHECK: Resources:226# CHECK-NEXT: [0.0] - PdAGLU01227# CHECK-NEXT: [0.1] - PdAGLU01228# CHECK-NEXT: [1] - PdBranch229# CHECK-NEXT: [2] - PdCount230# CHECK-NEXT: [3] - PdDiv231# CHECK-NEXT: [4] - PdEX0232# CHECK-NEXT: [5] - PdEX1233# CHECK-NEXT: [6] - PdFPCVT234# CHECK-NEXT: [7.0] - PdFPFMA235# CHECK-NEXT: [7.1] - PdFPFMA236# CHECK-NEXT: [8.0] - PdFPMAL237# CHECK-NEXT: [8.1] - PdFPMAL238# CHECK-NEXT: [9] - PdFPMMA239# CHECK-NEXT: [10] - PdFPSTO240# CHECK-NEXT: [11] - PdFPU0241# CHECK-NEXT: [12] - PdFPU1242# CHECK-NEXT: [13] - PdFPU2243# CHECK-NEXT: [14] - PdFPU3244# CHECK-NEXT: [15] - PdFPXBR245# CHECK-NEXT: [16.0] - PdLoad246# CHECK-NEXT: [16.1] - PdLoad247# CHECK-NEXT: [17] - PdMul248# CHECK-NEXT: [18] - PdStore249 250# CHECK: Resource pressure per iteration:251# 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]252# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - - - - - - 2.00 2.00 - 2.00253 254# CHECK: Resource pressure by instruction:255# 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:256# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movw %sp, (%rax)257# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - - 2.00 - - movw (%rcx), %bp258# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - 2.00 - - - movw (%rdx), %si259# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movw %di, (%rbx)260 261# CHECK: Timeline view:262# CHECK-NEXT: Index 012345678263 264# CHECK: [0,0] DeER . . movw %sp, (%rax)265# CHECK-NEXT: [0,1] DeeeeeER. movw (%rcx), %bp266# CHECK-NEXT: [0,2] D=eeeeeER movw (%rdx), %si267# CHECK-NEXT: [0,3] D==eE---R movw %di, (%rbx)268 269# CHECK: Average Wait times (based on the timeline view):270# CHECK-NEXT: [0]: Executions271# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue272# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready273# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage274 275# CHECK: [0] [1] [2] [3]276# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movw %sp, (%rax)277# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movw (%rcx), %bp278# CHECK-NEXT: 2. 1 2.0 2.0 0.0 movw (%rdx), %si279# CHECK-NEXT: 3. 1 3.0 1.0 3.0 movw %di, (%rbx)280# CHECK-NEXT: 1 1.8 1.3 0.8 <total>281 282# CHECK: [2] Code Region283 284# CHECK: Iterations: 100285# CHECK-NEXT: Instructions: 400286# CHECK-NEXT: Total Cycles: 306287# CHECK-NEXT: Total uOps: 400288 289# CHECK: Dispatch Width: 4290# CHECK-NEXT: uOps Per Cycle: 1.31291# CHECK-NEXT: IPC: 1.31292# CHECK-NEXT: Block RThroughput: 3.0293 294# CHECK: Instruction Info:295# CHECK-NEXT: [1]: #uOps296# CHECK-NEXT: [2]: Latency297# CHECK-NEXT: [3]: RThroughput298# CHECK-NEXT: [4]: MayLoad299# CHECK-NEXT: [5]: MayStore300# CHECK-NEXT: [6]: HasSideEffects (U)301 302# CHECK: [1] [2] [3] [4] [5] [6] Instructions:303# CHECK-NEXT: 1 1 1.00 * movl %esp, (%rax)304# CHECK-NEXT: 1 5 1.00 * movl (%rcx), %ebp305# CHECK-NEXT: 1 5 1.00 * movl (%rdx), %esi306# CHECK-NEXT: 1 1 1.00 * movl %edi, (%rbx)307 308# CHECK: Dynamic Dispatch Stall Cycles:309# CHECK-NEXT: RAT - Register unavailable: 0310# CHECK-NEXT: RCU - Retire tokens unavailable: 0311# CHECK-NEXT: SCHEDQ - Scheduler full: 256 (83.7%)312# CHECK-NEXT: LQ - Load queue full: 0313# CHECK-NEXT: SQ - Store queue full: 0314# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0315# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0316 317# CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:318# CHECK-NEXT: [# dispatched], [# cycles]319# CHECK-NEXT: 0, 35 (11.4%)320# CHECK-NEXT: 1, 171 (55.9%)321# CHECK-NEXT: 2, 85 (27.8%)322# CHECK-NEXT: 3, 1 (0.3%)323# CHECK-NEXT: 4, 14 (4.6%)324 325# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:326# CHECK-NEXT: [# issued], [# cycles]327# CHECK-NEXT: 0, 6 (2.0%)328# CHECK-NEXT: 1, 200 (65.4%)329# CHECK-NEXT: 2, 100 (32.7%)330 331# CHECK: Scheduler's queue usage:332# CHECK-NEXT: [1] Resource name.333# CHECK-NEXT: [2] Average number of used buffer entries.334# CHECK-NEXT: [3] Maximum number of used buffer entries.335# CHECK-NEXT: [4] Total number of buffer entries.336 337# CHECK: [1] [2] [3] [4]338# CHECK-NEXT: PdEX 36 40 40339# CHECK-NEXT: PdFPU 0 0 64340# CHECK-NEXT: PdLoad 21 24 40341# CHECK-NEXT: PdStore 18 21 24342 343# CHECK: Resources:344# CHECK-NEXT: [0.0] - PdAGLU01345# CHECK-NEXT: [0.1] - PdAGLU01346# CHECK-NEXT: [1] - PdBranch347# CHECK-NEXT: [2] - PdCount348# CHECK-NEXT: [3] - PdDiv349# CHECK-NEXT: [4] - PdEX0350# CHECK-NEXT: [5] - PdEX1351# CHECK-NEXT: [6] - PdFPCVT352# CHECK-NEXT: [7.0] - PdFPFMA353# CHECK-NEXT: [7.1] - PdFPFMA354# CHECK-NEXT: [8.0] - PdFPMAL355# CHECK-NEXT: [8.1] - PdFPMAL356# CHECK-NEXT: [9] - PdFPMMA357# CHECK-NEXT: [10] - PdFPSTO358# CHECK-NEXT: [11] - PdFPU0359# CHECK-NEXT: [12] - PdFPU1360# CHECK-NEXT: [13] - PdFPU2361# CHECK-NEXT: [14] - PdFPU3362# CHECK-NEXT: [15] - PdFPXBR363# CHECK-NEXT: [16.0] - PdLoad364# CHECK-NEXT: [16.1] - PdLoad365# CHECK-NEXT: [17] - PdMul366# CHECK-NEXT: [18] - PdStore367 368# CHECK: Resource pressure per iteration:369# 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]370# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - - - - - - 2.00 2.00 - 2.00371 372# CHECK: Resource pressure by instruction:373# 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:374# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movl %esp, (%rax)375# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - - 2.00 - - movl (%rcx), %ebp376# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - 2.00 - - - movl (%rdx), %esi377# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movl %edi, (%rbx)378 379# CHECK: Timeline view:380# CHECK-NEXT: Index 012345678381 382# CHECK: [0,0] DeER . . movl %esp, (%rax)383# CHECK-NEXT: [0,1] DeeeeeER. movl (%rcx), %ebp384# CHECK-NEXT: [0,2] D=eeeeeER movl (%rdx), %esi385# CHECK-NEXT: [0,3] D==eE---R movl %edi, (%rbx)386 387# CHECK: Average Wait times (based on the timeline view):388# CHECK-NEXT: [0]: Executions389# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue390# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready391# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage392 393# CHECK: [0] [1] [2] [3]394# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movl %esp, (%rax)395# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movl (%rcx), %ebp396# CHECK-NEXT: 2. 1 2.0 2.0 0.0 movl (%rdx), %esi397# CHECK-NEXT: 3. 1 3.0 1.0 3.0 movl %edi, (%rbx)398# CHECK-NEXT: 1 1.8 1.3 0.8 <total>399 400# CHECK: [3] Code Region401 402# CHECK: Iterations: 100403# CHECK-NEXT: Instructions: 400404# CHECK-NEXT: Total Cycles: 306405# CHECK-NEXT: Total uOps: 400406 407# CHECK: Dispatch Width: 4408# CHECK-NEXT: uOps Per Cycle: 1.31409# CHECK-NEXT: IPC: 1.31410# CHECK-NEXT: Block RThroughput: 3.0411 412# CHECK: Instruction Info:413# CHECK-NEXT: [1]: #uOps414# CHECK-NEXT: [2]: Latency415# CHECK-NEXT: [3]: RThroughput416# CHECK-NEXT: [4]: MayLoad417# CHECK-NEXT: [5]: MayStore418# CHECK-NEXT: [6]: HasSideEffects (U)419 420# CHECK: [1] [2] [3] [4] [5] [6] Instructions:421# CHECK-NEXT: 1 1 1.00 * movq %rsp, (%rax)422# CHECK-NEXT: 1 5 1.00 * movq (%rcx), %rbp423# CHECK-NEXT: 1 5 1.00 * movq (%rdx), %rsi424# CHECK-NEXT: 1 1 1.00 * movq %rdi, (%rbx)425 426# CHECK: Dynamic Dispatch Stall Cycles:427# CHECK-NEXT: RAT - Register unavailable: 0428# CHECK-NEXT: RCU - Retire tokens unavailable: 0429# CHECK-NEXT: SCHEDQ - Scheduler full: 256 (83.7%)430# CHECK-NEXT: LQ - Load queue full: 0431# CHECK-NEXT: SQ - Store queue full: 0432# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0433# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0434 435# CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:436# CHECK-NEXT: [# dispatched], [# cycles]437# CHECK-NEXT: 0, 35 (11.4%)438# CHECK-NEXT: 1, 171 (55.9%)439# CHECK-NEXT: 2, 85 (27.8%)440# CHECK-NEXT: 3, 1 (0.3%)441# CHECK-NEXT: 4, 14 (4.6%)442 443# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:444# CHECK-NEXT: [# issued], [# cycles]445# CHECK-NEXT: 0, 6 (2.0%)446# CHECK-NEXT: 1, 200 (65.4%)447# CHECK-NEXT: 2, 100 (32.7%)448 449# CHECK: Scheduler's queue usage:450# CHECK-NEXT: [1] Resource name.451# CHECK-NEXT: [2] Average number of used buffer entries.452# CHECK-NEXT: [3] Maximum number of used buffer entries.453# CHECK-NEXT: [4] Total number of buffer entries.454 455# CHECK: [1] [2] [3] [4]456# CHECK-NEXT: PdEX 36 40 40457# CHECK-NEXT: PdFPU 0 0 64458# CHECK-NEXT: PdLoad 21 24 40459# CHECK-NEXT: PdStore 18 21 24460 461# CHECK: Resources:462# CHECK-NEXT: [0.0] - PdAGLU01463# CHECK-NEXT: [0.1] - PdAGLU01464# CHECK-NEXT: [1] - PdBranch465# CHECK-NEXT: [2] - PdCount466# CHECK-NEXT: [3] - PdDiv467# CHECK-NEXT: [4] - PdEX0468# CHECK-NEXT: [5] - PdEX1469# CHECK-NEXT: [6] - PdFPCVT470# CHECK-NEXT: [7.0] - PdFPFMA471# CHECK-NEXT: [7.1] - PdFPFMA472# CHECK-NEXT: [8.0] - PdFPMAL473# CHECK-NEXT: [8.1] - PdFPMAL474# CHECK-NEXT: [9] - PdFPMMA475# CHECK-NEXT: [10] - PdFPSTO476# CHECK-NEXT: [11] - PdFPU0477# CHECK-NEXT: [12] - PdFPU1478# CHECK-NEXT: [13] - PdFPU2479# CHECK-NEXT: [14] - PdFPU3480# CHECK-NEXT: [15] - PdFPXBR481# CHECK-NEXT: [16.0] - PdLoad482# CHECK-NEXT: [16.1] - PdLoad483# CHECK-NEXT: [17] - PdMul484# CHECK-NEXT: [18] - PdStore485 486# CHECK: Resource pressure per iteration:487# 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]488# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - - - - - - - 2.00 2.00 - 2.00489 490# CHECK: Resource pressure by instruction:491# 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:492# CHECK-NEXT: - 1.00 - - - - - - - - - - - - - - - - - - - - 1.00 movq %rsp, (%rax)493# CHECK-NEXT: 2.00 - - - - - - - - - - - - - - - - - - - 2.00 - - movq (%rcx), %rbp494# CHECK-NEXT: - 2.00 - - - - - - - - - - - - - - - - - 2.00 - - - movq (%rdx), %rsi495# CHECK-NEXT: 1.00 - - - - - - - - - - - - - - - - - - - - - 1.00 movq %rdi, (%rbx)496 497# CHECK: Timeline view:498# CHECK-NEXT: Index 012345678499 500# CHECK: [0,0] DeER . . movq %rsp, (%rax)501# CHECK-NEXT: [0,1] DeeeeeER. movq (%rcx), %rbp502# CHECK-NEXT: [0,2] D=eeeeeER movq (%rdx), %rsi503# CHECK-NEXT: [0,3] D==eE---R movq %rdi, (%rbx)504 505# CHECK: Average Wait times (based on the timeline view):506# CHECK-NEXT: [0]: Executions507# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue508# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready509# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage510 511# CHECK: [0] [1] [2] [3]512# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movq %rsp, (%rax)513# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movq (%rcx), %rbp514# CHECK-NEXT: 2. 1 2.0 2.0 0.0 movq (%rdx), %rsi515# CHECK-NEXT: 3. 1 3.0 1.0 3.0 movq %rdi, (%rbx)516# CHECK-NEXT: 1 1.8 1.3 0.8 <total>517 518# CHECK: [4] Code Region519 520# CHECK: Iterations: 100521# CHECK-NEXT: Instructions: 400522# CHECK-NEXT: Total Cycles: 405523# CHECK-NEXT: Total uOps: 400524 525# CHECK: Dispatch Width: 4526# CHECK-NEXT: uOps Per Cycle: 0.99527# CHECK-NEXT: IPC: 0.99528# CHECK-NEXT: Block RThroughput: 4.0529 530# CHECK: Instruction Info:531# CHECK-NEXT: [1]: #uOps532# CHECK-NEXT: [2]: Latency533# CHECK-NEXT: [3]: RThroughput534# CHECK-NEXT: [4]: MayLoad535# CHECK-NEXT: [5]: MayStore536# CHECK-NEXT: [6]: HasSideEffects (U)537 538# CHECK: [1] [2] [3] [4] [5] [6] Instructions:539# CHECK-NEXT: 1 2 1.50 * U movd %mm0, (%rax)540# CHECK-NEXT: 1 5 1.50 * movd (%rcx), %mm1541# CHECK-NEXT: 1 5 1.50 * movd (%rdx), %mm2542# CHECK-NEXT: 1 2 1.50 * U movd %mm3, (%rbx)543 544# CHECK: Dynamic Dispatch Stall Cycles:545# CHECK-NEXT: RAT - Register unavailable: 0546# CHECK-NEXT: RCU - Retire tokens unavailable: 0547# CHECK-NEXT: SCHEDQ - Scheduler full: 347 (85.7%)548# CHECK-NEXT: LQ - Load queue full: 0549# CHECK-NEXT: SQ - Store queue full: 0550# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0551# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0552 553# CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:554# CHECK-NEXT: [# dispatched], [# cycles]555# CHECK-NEXT: 0, 131 (32.3%)556# CHECK-NEXT: 1, 174 (43.0%)557# CHECK-NEXT: 2, 87 (21.5%)558# CHECK-NEXT: 4, 13 (3.2%)559 560# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:561# CHECK-NEXT: [# issued], [# cycles]562# CHECK-NEXT: 0, 105 (25.9%)563# CHECK-NEXT: 1, 200 (49.4%)564# CHECK-NEXT: 2, 100 (24.7%)565 566# CHECK: Scheduler's queue usage:567# CHECK-NEXT: [1] Resource name.568# CHECK-NEXT: [2] Average number of used buffer entries.569# CHECK-NEXT: [3] Maximum number of used buffer entries.570# CHECK-NEXT: [4] Total number of buffer entries.571 572# CHECK: [1] [2] [3] [4]573# CHECK-NEXT: PdEX 36 40 40574# CHECK-NEXT: PdFPU 36 40 64575# CHECK-NEXT: PdLoad 20 23 40576# CHECK-NEXT: PdStore 19 22 24577 578# CHECK: Resources:579# CHECK-NEXT: [0.0] - PdAGLU01580# CHECK-NEXT: [0.1] - PdAGLU01581# CHECK-NEXT: [1] - PdBranch582# CHECK-NEXT: [2] - PdCount583# CHECK-NEXT: [3] - PdDiv584# CHECK-NEXT: [4] - PdEX0585# CHECK-NEXT: [5] - PdEX1586# CHECK-NEXT: [6] - PdFPCVT587# CHECK-NEXT: [7.0] - PdFPFMA588# CHECK-NEXT: [7.1] - PdFPFMA589# CHECK-NEXT: [8.0] - PdFPMAL590# CHECK-NEXT: [8.1] - PdFPMAL591# CHECK-NEXT: [9] - PdFPMMA592# CHECK-NEXT: [10] - PdFPSTO593# CHECK-NEXT: [11] - PdFPU0594# CHECK-NEXT: [12] - PdFPU1595# CHECK-NEXT: [13] - PdFPU2596# CHECK-NEXT: [14] - PdFPU3597# CHECK-NEXT: [15] - PdFPXBR598# CHECK-NEXT: [16.0] - PdLoad599# CHECK-NEXT: [16.1] - PdLoad600# CHECK-NEXT: [17] - PdMul601# CHECK-NEXT: [18] - PdStore602 603# CHECK: Resource pressure per iteration:604# 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]605# CHECK-NEXT: 4.00 4.00 - - - - - - - - 3.00 3.00 - 2.00 1.00 1.00 3.00 3.00 - 3.00 3.00 - 2.00606 607# CHECK: Resource pressure by instruction:608# 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:609# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - - - 3.00 - - - - 1.00 movd %mm0, (%rax)610# CHECK-NEXT: 3.00 - - - - - - - - - - 3.00 - - - 1.00 - - - - 3.00 - - movd (%rcx), %mm1611# CHECK-NEXT: - 3.00 - - - - - - - - 3.00 - - - 1.00 - - - - 3.00 - - - movd (%rdx), %mm2612# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - - 3.00 - - - - - 1.00 movd %mm3, (%rbx)613 614# CHECK: Timeline view:615# CHECK-NEXT: Index 012345678616 617# CHECK: [0,0] DeeER. . movd %mm0, (%rax)618# CHECK-NEXT: [0,1] DeeeeeER. movd (%rcx), %mm1619# CHECK-NEXT: [0,2] D=eeeeeER movd (%rdx), %mm2620# CHECK-NEXT: [0,3] D===eeE-R movd %mm3, (%rbx)621 622# CHECK: Average Wait times (based on the timeline view):623# CHECK-NEXT: [0]: Executions624# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue625# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready626# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage627 628# CHECK: [0] [1] [2] [3]629# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movd %mm0, (%rax)630# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movd (%rcx), %mm1631# CHECK-NEXT: 2. 1 2.0 2.0 0.0 movd (%rdx), %mm2632# CHECK-NEXT: 3. 1 4.0 2.0 1.0 movd %mm3, (%rbx)633# CHECK-NEXT: 1 2.0 1.5 0.3 <total>634 635# CHECK: [5] Code Region636 637# CHECK: Iterations: 100638# CHECK-NEXT: Instructions: 400639# CHECK-NEXT: Total Cycles: 405640# CHECK-NEXT: Total uOps: 400641 642# CHECK: Dispatch Width: 4643# CHECK-NEXT: uOps Per Cycle: 0.99644# CHECK-NEXT: IPC: 0.99645# CHECK-NEXT: Block RThroughput: 4.0646 647# CHECK: Instruction Info:648# CHECK-NEXT: [1]: #uOps649# CHECK-NEXT: [2]: Latency650# CHECK-NEXT: [3]: RThroughput651# CHECK-NEXT: [4]: MayLoad652# CHECK-NEXT: [5]: MayStore653# CHECK-NEXT: [6]: HasSideEffects (U)654 655# CHECK: [1] [2] [3] [4] [5] [6] Instructions:656# CHECK-NEXT: 1 1 1.50 * movaps %xmm0, (%rax)657# CHECK-NEXT: 1 5 1.50 * movaps (%rcx), %xmm1658# CHECK-NEXT: 1 5 1.50 * movaps (%rdx), %xmm2659# CHECK-NEXT: 1 1 1.50 * movaps %xmm3, (%rbx)660 661# CHECK: Dynamic Dispatch Stall Cycles:662# CHECK-NEXT: RAT - Register unavailable: 0663# CHECK-NEXT: RCU - Retire tokens unavailable: 0664# CHECK-NEXT: SCHEDQ - Scheduler full: 347 (85.7%)665# CHECK-NEXT: LQ - Load queue full: 0666# CHECK-NEXT: SQ - Store queue full: 0667# CHECK-NEXT: GROUP - Static restrictions on the dispatch group: 0668# CHECK-NEXT: USH - Uncategorised Structural Hazard: 0669 670# CHECK: Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:671# CHECK-NEXT: [# dispatched], [# cycles]672# CHECK-NEXT: 0, 131 (32.3%)673# CHECK-NEXT: 1, 174 (43.0%)674# CHECK-NEXT: 2, 87 (21.5%)675# CHECK-NEXT: 4, 13 (3.2%)676 677# CHECK: Schedulers - number of cycles where we saw N micro opcodes issued:678# CHECK-NEXT: [# issued], [# cycles]679# CHECK-NEXT: 0, 105 (25.9%)680# CHECK-NEXT: 1, 200 (49.4%)681# CHECK-NEXT: 2, 100 (24.7%)682 683# CHECK: Scheduler's queue usage:684# CHECK-NEXT: [1] Resource name.685# CHECK-NEXT: [2] Average number of used buffer entries.686# CHECK-NEXT: [3] Maximum number of used buffer entries.687# CHECK-NEXT: [4] Total number of buffer entries.688 689# CHECK: [1] [2] [3] [4]690# CHECK-NEXT: PdEX 36 40 40691# CHECK-NEXT: PdFPU 36 40 64692# CHECK-NEXT: PdLoad 20 23 40693# CHECK-NEXT: PdStore 19 21 24694 695# CHECK: Resources:696# CHECK-NEXT: [0.0] - PdAGLU01697# CHECK-NEXT: [0.1] - PdAGLU01698# CHECK-NEXT: [1] - PdBranch699# CHECK-NEXT: [2] - PdCount700# CHECK-NEXT: [3] - PdDiv701# CHECK-NEXT: [4] - PdEX0702# CHECK-NEXT: [5] - PdEX1703# CHECK-NEXT: [6] - PdFPCVT704# CHECK-NEXT: [7.0] - PdFPFMA705# CHECK-NEXT: [7.1] - PdFPFMA706# CHECK-NEXT: [8.0] - PdFPMAL707# CHECK-NEXT: [8.1] - PdFPMAL708# CHECK-NEXT: [9] - PdFPMMA709# CHECK-NEXT: [10] - PdFPSTO710# CHECK-NEXT: [11] - PdFPU0711# CHECK-NEXT: [12] - PdFPU1712# CHECK-NEXT: [13] - PdFPU2713# CHECK-NEXT: [14] - PdFPU3714# CHECK-NEXT: [15] - PdFPXBR715# CHECK-NEXT: [16.0] - PdLoad716# CHECK-NEXT: [16.1] - PdLoad717# CHECK-NEXT: [17] - PdMul718# CHECK-NEXT: [18] - PdStore719 720# CHECK: Resource pressure per iteration:721# 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]722# CHECK-NEXT: 4.00 4.00 - - - - - - 3.00 3.00 - - - 2.00 1.00 1.00 3.00 3.00 - 3.00 3.00 - 2.00723 724# CHECK: Resource pressure by instruction:725# 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:726# CHECK-NEXT: - 1.00 - - - - - - - - - - - 1.00 - - - 3.00 - - - - 1.00 movaps %xmm0, (%rax)727# CHECK-NEXT: 3.00 - - - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - movaps (%rcx), %xmm1728# CHECK-NEXT: - 3.00 - - - - - - 3.00 - - - - - 1.00 - - - - 3.00 - - - movaps (%rdx), %xmm2729# CHECK-NEXT: 1.00 - - - - - - - - - - - - 1.00 - - 3.00 - - - - - 1.00 movaps %xmm3, (%rbx)730 731# CHECK: Timeline view:732# CHECK-NEXT: Index 012345678733 734# CHECK: [0,0] DeER . . movaps %xmm0, (%rax)735# CHECK-NEXT: [0,1] DeeeeeER. movaps (%rcx), %xmm1736# CHECK-NEXT: [0,2] D=eeeeeER movaps (%rdx), %xmm2737# CHECK-NEXT: [0,3] D===eE--R movaps %xmm3, (%rbx)738 739# CHECK: Average Wait times (based on the timeline view):740# CHECK-NEXT: [0]: Executions741# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue742# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready743# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage744 745# CHECK: [0] [1] [2] [3]746# CHECK-NEXT: 0. 1 1.0 1.0 0.0 movaps %xmm0, (%rax)747# CHECK-NEXT: 1. 1 1.0 1.0 0.0 movaps (%rcx), %xmm1748# CHECK-NEXT: 2. 1 2.0 2.0 0.0 movaps (%rdx), %xmm2749# CHECK-NEXT: 3. 1 4.0 2.0 2.0 movaps %xmm3, (%rbx)750# CHECK-NEXT: 1 2.0 1.5 0.5 <total>751