| # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py |
| # RUN: llvm-mca -mtriple=riscv64-unknown-unknown -mcpu=tt-ascalon-d8 --iterations=1 < %s | FileCheck %s |
| |
| fmin.s ft0, fa0, fa1 |
| fmax.s ft1, fa0, fa1 |
| fmin.d ft2, ft4, ft5 |
| fmax.d ft3, ft4, ft5 |
| fmadd.s fs0, fs0, fs8, fs9 |
| fmsub.s fs1, fs1, fs8, fs9 |
| fmul.s fs3, fs3, fs4 |
| fdiv.s fs2, fs3, fs4 |
| fmul.d ft4, ft4, ft5 |
| fdiv.d fs4, fa3, ft5 |
| fsqrt.s ft1, fa2 |
| fsqrt.d ft2, fa3 |
| |
| # CHECK: Iterations: 1 |
| # CHECK-NEXT: Instructions: 12 |
| # CHECK-NEXT: Total Cycles: 31 |
| # CHECK-NEXT: Total uOps: 12 |
| |
| # CHECK: Dispatch Width: 8 |
| # CHECK-NEXT: uOps Per Cycle: 0.39 |
| # CHECK-NEXT: IPC: 0.39 |
| # CHECK-NEXT: Block RThroughput: 23.0 |
| |
| # CHECK: Instruction Info: |
| # CHECK-NEXT: [1]: #uOps |
| # CHECK-NEXT: [2]: Latency |
| # CHECK-NEXT: [3]: RThroughput |
| # CHECK-NEXT: [4]: MayLoad |
| # CHECK-NEXT: [5]: MayStore |
| # CHECK-NEXT: [6]: HasSideEffects (U) |
| |
| # CHECK: [1] [2] [3] [4] [5] [6] Instructions: |
| # CHECK-NEXT: 1 3 0.50 fmin.s ft0, fa0, fa1 |
| # CHECK-NEXT: 1 3 0.50 fmax.s ft1, fa0, fa1 |
| # CHECK-NEXT: 1 3 0.50 fmin.d ft2, ft4, ft5 |
| # CHECK-NEXT: 1 3 0.50 fmax.d ft3, ft4, ft5 |
| # CHECK-NEXT: 1 3 0.50 fmadd.s fs0, fs0, fs8, fs9 |
| # CHECK-NEXT: 1 3 0.50 fmsub.s fs1, fs1, fs8, fs9 |
| # CHECK-NEXT: 1 3 0.50 fmul.s fs3, fs3, fs4 |
| # CHECK-NEXT: 1 7 3.50 fdiv.s fs2, fs3, fs4 |
| # CHECK-NEXT: 1 3 0.50 fmul.d ft4, ft4, ft5 |
| # CHECK-NEXT: 1 12 6.00 fdiv.d fs4, fa3, ft5 |
| # CHECK-NEXT: 1 7 3.50 fsqrt.s ft1, fa2 |
| # CHECK-NEXT: 1 12 6.00 fsqrt.d ft2, fa3 |
| |
| # CHECK: Resources: |
| # CHECK-NEXT: [0.0] - AscalonFP |
| # CHECK-NEXT: [0.1] - AscalonFP |
| # CHECK-NEXT: [1] - AscalonFXA |
| # CHECK-NEXT: [2] - AscalonFXB |
| # CHECK-NEXT: [3.0] - AscalonFXC |
| # CHECK-NEXT: [3.1] - AscalonFXC |
| # CHECK-NEXT: [4.0] - AscalonFXD |
| # CHECK-NEXT: [4.1] - AscalonFXD |
| # CHECK-NEXT: [5.0] - AscalonLS |
| # CHECK-NEXT: [5.1] - AscalonLS |
| # CHECK-NEXT: [5.2] - AscalonLS |
| |
| # CHECK: Resource pressure per iteration: |
| # CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4.0] [4.1] [5.0] [5.1] [5.2] |
| # CHECK-NEXT: 18.00 28.00 - - - - - - - - - |
| |
| # CHECK: Resource pressure by instruction: |
| # CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4.0] [4.1] [5.0] [5.1] [5.2] Instructions: |
| # CHECK-NEXT: - 1.00 - - - - - - - - - fmin.s ft0, fa0, fa1 |
| # CHECK-NEXT: 1.00 - - - - - - - - - - fmax.s ft1, fa0, fa1 |
| # CHECK-NEXT: - 1.00 - - - - - - - - - fmin.d ft2, ft4, ft5 |
| # CHECK-NEXT: 1.00 - - - - - - - - - - fmax.d ft3, ft4, ft5 |
| # CHECK-NEXT: - 1.00 - - - - - - - - - fmadd.s fs0, fs0, fs8, fs9 |
| # CHECK-NEXT: 1.00 - - - - - - - - - - fmsub.s fs1, fs1, fs8, fs9 |
| # CHECK-NEXT: - 1.00 - - - - - - - - - fmul.s fs3, fs3, fs4 |
| # CHECK-NEXT: 7.00 - - - - - - - - - - fdiv.s fs2, fs3, fs4 |
| # CHECK-NEXT: 1.00 - - - - - - - - - - fmul.d ft4, ft4, ft5 |
| # CHECK-NEXT: - 12.00 - - - - - - - - - fdiv.d fs4, fa3, ft5 |
| # CHECK-NEXT: 7.00 - - - - - - - - - - fsqrt.s ft1, fa2 |
| # CHECK-NEXT: - 12.00 - - - - - - - - - fsqrt.d ft2, fa3 |