153 lines · plain
1 2# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py3# RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-p470 -iterations=1 < %s | FileCheck %s4 5# SEW is only e32 or e646 7vsetvli zero, zero, e32, m1, tu, mu8vsha2ms.vv v4, v8, v129vsha2ch.vv v4, v8, v1210vsha2cl.vv v4, v8, v1211 12vsetvli zero, zero, e32, m2, tu, mu13vsha2ms.vv v4, v8, v1214vsha2ch.vv v4, v8, v1215vsha2cl.vv v4, v8, v1216 17vsetvli zero, zero, e32, m4, tu, mu18vsha2ms.vv v4, v8, v1219vsha2ch.vv v4, v8, v1220vsha2cl.vv v4, v8, v1221 22vsetvli zero, zero, e32, m8, tu, mu23vsha2ms.vv v8, v16, v2424vsha2ch.vv v8, v16, v2425vsha2cl.vv v8, v16, v2426 27vsetvli zero, zero, e64, m1, tu, mu28vsha2ms.vv v4, v8, v1229vsha2ch.vv v4, v8, v1230vsha2cl.vv v4, v8, v1231 32vsetvli zero, zero, e64, m2, tu, mu33vsha2ms.vv v4, v8, v1234vsha2ch.vv v4, v8, v1235vsha2cl.vv v4, v8, v1236 37vsetvli zero, zero, e64, m4, tu, mu38vsha2ms.vv v4, v8, v1239vsha2ch.vv v4, v8, v1240vsha2cl.vv v4, v8, v1241 42vsetvli zero, zero, e64, m8, tu, mu43vsha2ms.vv v8, v16, v2444vsha2ch.vv v8, v16, v2445vsha2cl.vv v8, v16, v2446 47# CHECK: Iterations: 148# CHECK-NEXT: Instructions: 3249# CHECK-NEXT: Total Cycles: 10250# CHECK-NEXT: Total uOps: 3251 52# CHECK: Dispatch Width: 353# CHECK-NEXT: uOps Per Cycle: 0.3154# CHECK-NEXT: IPC: 0.3155# CHECK-NEXT: Block RThroughput: 90.056 57# CHECK: Instruction Info:58# CHECK-NEXT: [1]: #uOps59# CHECK-NEXT: [2]: Latency60# CHECK-NEXT: [3]: RThroughput61# CHECK-NEXT: [4]: MayLoad62# CHECK-NEXT: [5]: MayStore63# CHECK-NEXT: [6]: HasSideEffects (U)64 65# CHECK: [1] [2] [3] [4] [5] [6] Instructions:66# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m1, tu, mu67# CHECK-NEXT: 1 3 1.00 vsha2ms.vv v4, v8, v1268# CHECK-NEXT: 1 3 1.00 vsha2ch.vv v4, v8, v1269# CHECK-NEXT: 1 3 1.00 vsha2cl.vv v4, v8, v1270# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m2, tu, mu71# CHECK-NEXT: 1 3 2.00 vsha2ms.vv v4, v8, v1272# CHECK-NEXT: 1 3 2.00 vsha2ch.vv v4, v8, v1273# CHECK-NEXT: 1 3 2.00 vsha2cl.vv v4, v8, v1274# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m4, tu, mu75# CHECK-NEXT: 1 3 4.00 vsha2ms.vv v4, v8, v1276# CHECK-NEXT: 1 3 4.00 vsha2ch.vv v4, v8, v1277# CHECK-NEXT: 1 3 4.00 vsha2cl.vv v4, v8, v1278# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e32, m8, tu, mu79# CHECK-NEXT: 1 3 8.00 vsha2ms.vv v8, v16, v2480# CHECK-NEXT: 1 3 8.00 vsha2ch.vv v8, v16, v2481# CHECK-NEXT: 1 3 8.00 vsha2cl.vv v8, v16, v2482# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e64, m1, tu, mu83# CHECK-NEXT: 1 3 1.00 vsha2ms.vv v4, v8, v1284# CHECK-NEXT: 1 3 1.00 vsha2ch.vv v4, v8, v1285# CHECK-NEXT: 1 3 1.00 vsha2cl.vv v4, v8, v1286# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e64, m2, tu, mu87# CHECK-NEXT: 1 3 2.00 vsha2ms.vv v4, v8, v1288# CHECK-NEXT: 1 3 2.00 vsha2ch.vv v4, v8, v1289# CHECK-NEXT: 1 3 2.00 vsha2cl.vv v4, v8, v1290# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e64, m4, tu, mu91# CHECK-NEXT: 1 3 4.00 vsha2ms.vv v4, v8, v1292# CHECK-NEXT: 1 3 4.00 vsha2ch.vv v4, v8, v1293# CHECK-NEXT: 1 3 4.00 vsha2cl.vv v4, v8, v1294# CHECK-NEXT: 1 1 1.00 U vsetvli zero, zero, e64, m8, tu, mu95# CHECK-NEXT: 1 3 8.00 vsha2ms.vv v8, v16, v2496# CHECK-NEXT: 1 3 8.00 vsha2ch.vv v8, v16, v2497# CHECK-NEXT: 1 3 8.00 vsha2cl.vv v8, v16, v2498 99# CHECK: Resources:100# CHECK-NEXT: [0] - SiFiveP400Div101# CHECK-NEXT: [1] - SiFiveP400FEXQ0102# CHECK-NEXT: [2] - SiFiveP400FloatDiv103# CHECK-NEXT: [3] - SiFiveP400IEXQ0104# CHECK-NEXT: [4] - SiFiveP400IEXQ1105# CHECK-NEXT: [5] - SiFiveP400IEXQ2106# CHECK-NEXT: [6] - SiFiveP400Load107# CHECK-NEXT: [7] - SiFiveP400Store108# CHECK-NEXT: [8] - SiFiveP400VDiv109# CHECK-NEXT: [9] - SiFiveP400VEXQ0110# CHECK-NEXT: [10] - SiFiveP400VFloatDiv111# CHECK-NEXT: [11] - SiFiveP400VLD112# CHECK-NEXT: [12] - SiFiveP400VST113 114# CHECK: Resource pressure per iteration:115# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]116# CHECK-NEXT: - - - - 8.00 - - - - 90.00 - - -117 118# CHECK: Resource pressure by instruction:119# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:120# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m1, tu, mu121# CHECK-NEXT: - - - - - - - - - 1.00 - - - vsha2ms.vv v4, v8, v12122# CHECK-NEXT: - - - - - - - - - 1.00 - - - vsha2ch.vv v4, v8, v12123# CHECK-NEXT: - - - - - - - - - 1.00 - - - vsha2cl.vv v4, v8, v12124# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m2, tu, mu125# CHECK-NEXT: - - - - - - - - - 2.00 - - - vsha2ms.vv v4, v8, v12126# CHECK-NEXT: - - - - - - - - - 2.00 - - - vsha2ch.vv v4, v8, v12127# CHECK-NEXT: - - - - - - - - - 2.00 - - - vsha2cl.vv v4, v8, v12128# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m4, tu, mu129# CHECK-NEXT: - - - - - - - - - 4.00 - - - vsha2ms.vv v4, v8, v12130# CHECK-NEXT: - - - - - - - - - 4.00 - - - vsha2ch.vv v4, v8, v12131# CHECK-NEXT: - - - - - - - - - 4.00 - - - vsha2cl.vv v4, v8, v12132# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e32, m8, tu, mu133# CHECK-NEXT: - - - - - - - - - 8.00 - - - vsha2ms.vv v8, v16, v24134# CHECK-NEXT: - - - - - - - - - 8.00 - - - vsha2ch.vv v8, v16, v24135# CHECK-NEXT: - - - - - - - - - 8.00 - - - vsha2cl.vv v8, v16, v24136# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e64, m1, tu, mu137# CHECK-NEXT: - - - - - - - - - 1.00 - - - vsha2ms.vv v4, v8, v12138# CHECK-NEXT: - - - - - - - - - 1.00 - - - vsha2ch.vv v4, v8, v12139# CHECK-NEXT: - - - - - - - - - 1.00 - - - vsha2cl.vv v4, v8, v12140# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e64, m2, tu, mu141# CHECK-NEXT: - - - - - - - - - 2.00 - - - vsha2ms.vv v4, v8, v12142# CHECK-NEXT: - - - - - - - - - 2.00 - - - vsha2ch.vv v4, v8, v12143# CHECK-NEXT: - - - - - - - - - 2.00 - - - vsha2cl.vv v4, v8, v12144# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e64, m4, tu, mu145# CHECK-NEXT: - - - - - - - - - 4.00 - - - vsha2ms.vv v4, v8, v12146# CHECK-NEXT: - - - - - - - - - 4.00 - - - vsha2ch.vv v4, v8, v12147# CHECK-NEXT: - - - - - - - - - 4.00 - - - vsha2cl.vv v4, v8, v12148# CHECK-NEXT: - - - - 1.00 - - - - - - - - vsetvli zero, zero, e64, m8, tu, mu149# CHECK-NEXT: - - - - - - - - - 8.00 - - - vsha2ms.vv v8, v16, v24150# CHECK-NEXT: - - - - - - - - - 8.00 - - - vsha2ch.vv v8, v16, v24151# CHECK-NEXT: - - - - - - - - - 8.00 - - - vsha2cl.vv v8, v16, v24152 153