84 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=aarch64 -mcpu=tsv110 --instruction-info=0 --resource-pressure=0 --timeline --iterations=1 < %s | FileCheck %s3 4# LLVM-MCA-BEGIN madd nobypass5mul x0, x1, x26add x0, x0, x17add x0, x0, x18add x0, x0, x19# LLVM-MCA-END10 11# LLVM-MCA-BEGIN madd bypass12mul x0, x1, x213madd x0, x1, x2, x014madd x0, x1, x2, x015madd x0, x0, x0, x016# LLVM-MCA-END17 18# CHECK: [0] Code Region - madd nobypass19 20# CHECK: Iterations: 121# CHECK-NEXT: Instructions: 422# CHECK-NEXT: Total Cycles: 1023# CHECK-NEXT: Total uOps: 424 25# CHECK: Dispatch Width: 426# CHECK-NEXT: uOps Per Cycle: 0.4027# CHECK-NEXT: IPC: 0.4028# CHECK-NEXT: Block RThroughput: 1.029 30# CHECK: Timeline view:31# CHECK-NEXT: Index 012345678932 33# CHECK: [0,0] DeeeeER . mul x0, x1, x234# CHECK-NEXT: [0,1] D====eER . add x0, x0, x135# CHECK-NEXT: [0,2] D=====eER. add x0, x0, x136# CHECK-NEXT: [0,3] D======eER add x0, x0, x137 38# CHECK: Average Wait times (based on the timeline view):39# CHECK-NEXT: [0]: Executions40# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue41# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready42# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage43 44# CHECK: [0] [1] [2] [3]45# CHECK-NEXT: 0. 1 1.0 1.0 0.0 mul x0, x1, x246# CHECK-NEXT: 1. 1 5.0 0.0 0.0 add x0, x0, x147# CHECK-NEXT: 2. 1 6.0 0.0 0.0 add x0, x0, x148# CHECK-NEXT: 3. 1 7.0 0.0 0.0 add x0, x0, x149# CHECK-NEXT: 1 4.8 0.3 0.0 <total>50 51# CHECK: [1] Code Region - madd bypass52 53# CHECK: Iterations: 154# CHECK-NEXT: Instructions: 455# CHECK-NEXT: Total Cycles: 1256# CHECK-NEXT: Total uOps: 457 58# CHECK: Dispatch Width: 459# CHECK-NEXT: uOps Per Cycle: 0.3360# CHECK-NEXT: IPC: 0.3361# CHECK-NEXT: Block RThroughput: 4.062 63# CHECK: Timeline view:64# CHECK-NEXT: 0165# CHECK-NEXT: Index 012345678966 67# CHECK: [0,0] DeeeeER .. mul x0, x1, x268# CHECK-NEXT: [0,1] D==eeeeER .. madd x0, x1, x2, x069# CHECK-NEXT: [0,2] D=eeeeE-R .. madd x0, x1, x2, x070# CHECK-NEXT: [0,3] D=====eeeeER madd x0, x0, x0, x071 72# CHECK: Average Wait times (based on the timeline view):73# CHECK-NEXT: [0]: Executions74# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue75# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready76# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage77 78# CHECK: [0] [1] [2] [3]79# CHECK-NEXT: 0. 1 1.0 1.0 0.0 mul x0, x1, x280# CHECK-NEXT: 1. 1 3.0 3.0 0.0 madd x0, x1, x2, x081# CHECK-NEXT: 2. 1 2.0 2.0 1.0 madd x0, x1, x2, x082# CHECK-NEXT: 3. 1 6.0 0.0 0.0 madd x0, x0, x0, x083# CHECK-NEXT: 1 3.0 1.5 0.3 <total>84