17340fd68SJay Foad# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2*beebe5a0SJay Foad# RUN: llvm-mca -mtriple=amdgcn -mcpu=gfx1010 --timeline --iterations=1 --timeline-max-cycles=0 < %s | FileCheck %s 37340fd68SJay Foad 47340fd68SJay Foadv_add_f32 v0, v0, v0 57340fd68SJay Foadv_add_f32 v1, v1, v1 67340fd68SJay Foadv_add_f32 v2, v1, v0 77340fd68SJay Foad 87340fd68SJay Foad# CHECK: Iterations: 1 97340fd68SJay Foad# CHECK-NEXT: Instructions: 3 10292da93dSAndrew Savonichev# CHECK-NEXT: Total Cycles: 12 117340fd68SJay Foad# CHECK-NEXT: Total uOps: 3 127340fd68SJay Foad 137340fd68SJay Foad# CHECK: Dispatch Width: 1 14292da93dSAndrew Savonichev# CHECK-NEXT: uOps Per Cycle: 0.25 15292da93dSAndrew Savonichev# CHECK-NEXT: IPC: 0.25 167340fd68SJay Foad# CHECK-NEXT: Block RThroughput: 3.0 177340fd68SJay Foad 187340fd68SJay Foad# CHECK: Instruction Info: 197340fd68SJay Foad# CHECK-NEXT: [1]: #uOps 207340fd68SJay Foad# CHECK-NEXT: [2]: Latency 217340fd68SJay Foad# CHECK-NEXT: [3]: RThroughput 227340fd68SJay Foad# CHECK-NEXT: [4]: MayLoad 237340fd68SJay Foad# CHECK-NEXT: [5]: MayStore 247340fd68SJay Foad# CHECK-NEXT: [6]: HasSideEffects (U) 257340fd68SJay Foad 267340fd68SJay Foad# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 277340fd68SJay Foad# CHECK-NEXT: 1 5 1.00 U v_add_f32_e32 v0, v0, v0 287340fd68SJay Foad# CHECK-NEXT: 1 5 1.00 U v_add_f32_e32 v1, v1, v1 297340fd68SJay Foad# CHECK-NEXT: 1 5 1.00 U v_add_f32_e32 v2, v1, v0 307340fd68SJay Foad 317340fd68SJay Foad# CHECK: Resources: 327340fd68SJay Foad# CHECK-NEXT: [0] - HWBranch 337340fd68SJay Foad# CHECK-NEXT: [1] - HWExport 347340fd68SJay Foad# CHECK-NEXT: [2] - HWLGKM 357340fd68SJay Foad# CHECK-NEXT: [3] - HWRC 367340fd68SJay Foad# CHECK-NEXT: [4] - HWSALU 374897effbSSebastian Neubauer# CHECK-NEXT: [5] - HWTransVALU 384897effbSSebastian Neubauer# CHECK-NEXT: [6] - HWVALU 394897effbSSebastian Neubauer# CHECK-NEXT: [7] - HWVMEM 407340fd68SJay Foad 417340fd68SJay Foad# CHECK: Resource pressure per iteration: 424897effbSSebastian Neubauer# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] 434897effbSSebastian Neubauer# CHECK-NEXT: - - - 3.00 - - 3.00 - 447340fd68SJay Foad 457340fd68SJay Foad# CHECK: Resource pressure by instruction: 464897effbSSebastian Neubauer# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: 474897effbSSebastian Neubauer# CHECK-NEXT: - - - 1.00 - - 1.00 - v_add_f32_e32 v0, v0, v0 484897effbSSebastian Neubauer# CHECK-NEXT: - - - 1.00 - - 1.00 - v_add_f32_e32 v1, v1, v1 494897effbSSebastian Neubauer# CHECK-NEXT: - - - 1.00 - - 1.00 - v_add_f32_e32 v2, v1, v0 507340fd68SJay Foad 517340fd68SJay Foad# CHECK: Timeline view: 52292da93dSAndrew Savonichev# CHECK-NEXT: 01 537340fd68SJay Foad# CHECK-NEXT: Index 0123456789 547340fd68SJay Foad 55292da93dSAndrew Savonichev# CHECK: [0,0] DeeeeE .. v_add_f32_e32 v0, v0, v0 56292da93dSAndrew Savonichev# CHECK-NEXT: [0,1] .DeeeeE .. v_add_f32_e32 v1, v1, v1 57292da93dSAndrew Savonichev# CHECK-NEXT: [0,2] . .DeeeeE v_add_f32_e32 v2, v1, v0 587340fd68SJay Foad 597340fd68SJay Foad# CHECK: Average Wait times (based on the timeline view): 607340fd68SJay Foad# CHECK-NEXT: [0]: Executions 617340fd68SJay Foad# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue 627340fd68SJay Foad# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready 637340fd68SJay Foad# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage 647340fd68SJay Foad 657340fd68SJay Foad# CHECK: [0] [1] [2] [3] 667340fd68SJay Foad# CHECK-NEXT: 0. 1 0.0 0.0 0.0 v_add_f32_e32 v0, v0, v0 677340fd68SJay Foad# CHECK-NEXT: 1. 1 0.0 0.0 0.0 v_add_f32_e32 v1, v1, v1 687340fd68SJay Foad# CHECK-NEXT: 2. 1 0.0 0.0 0.0 v_add_f32_e32 v2, v1, v0 697340fd68SJay Foad# CHECK-NEXT: 1 0.0 0.0 0.0 <total> 70