1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-x390 -mattr='+xsfvfnrclipxfqf' -iterations=1 -instruction-tables=full %s | \
# RUN: FileCheck %s
vsetvli a0, zero, e8, mf8, ta, ma
sf.vfnrclip.xu.f.qf v4, v8, fa2
vsetvli a0, zero, e8, mf4, ta, ma
sf.vfnrclip.xu.f.qf v4, v8, fa2
vsetvli a0, zero, e8, mf2, ta, ma
sf.vfnrclip.xu.f.qf v4, v8, fa2
vsetvli a0, zero, e8, m1, ta, ma
sf.vfnrclip.xu.f.qf v4, v8, fa2
vsetvli a0, zero, e8, m2, ta, ma
sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK: Resources:
# CHECK-NEXT: [0] - VLEN1024X300SiFive7FDiv:1
# CHECK-NEXT: [1] - VLEN1024X300SiFive7IDiv:1
# CHECK-NEXT: [2] - VLEN1024X300SiFive7PipeA:1
# CHECK-NEXT: [3] - VLEN1024X300SiFive7PipeAB:2 VLEN1024X300SiFive7PipeA, VLEN1024X300SiFive7PipeB
# CHECK-NEXT: [4] - VLEN1024X300SiFive7PipeB:1
# CHECK-NEXT: [5] - VLEN1024X300SiFive7VA1:1
# CHECK-NEXT: [6] - VLEN1024X300SiFive7VA1OrVA2:2 VLEN1024X300SiFive7VA1, VLEN1024X300SiFive7VA2
# CHECK-NEXT: [7] - VLEN1024X300SiFive7VA2:1
# CHECK-NEXT: [8] - VLEN1024X300SiFive7VCQ:1
# CHECK-NEXT: [9] - VLEN1024X300SiFive7VL:1
# CHECK-NEXT: [10] - VLEN1024X300SiFive7VS:1
# 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-NEXT: [7]: Bypass Latency
# CHECK-NEXT: [8]: Resources (<Name> | <Name>[<ReleaseAtCycle>] | <Name>[<AcquireAtCycle>,<ReleaseAtCycle])
# CHECK-NEXT: [9]: LLVM Opcode Name
# CHECK: [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli a0, zero, e8, mf8, ta, ma
# CHECK-NEXT: 1 7 1.00 7 VLEN1024X300SiFive7VA1[1,2],VLEN1024X300SiFive7VA1OrVA2[1,2],VLEN1024X300SiFive7VCQ SF_VFNRCLIP_XU_F_QF sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli a0, zero, e8, mf4, ta, ma
# CHECK-NEXT: 1 8 2.00 8 VLEN1024X300SiFive7VA1[1,3],VLEN1024X300SiFive7VA1OrVA2[1,3],VLEN1024X300SiFive7VCQ SF_VFNRCLIP_XU_F_QF sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli a0, zero, e8, mf2, ta, ma
# CHECK-NEXT: 1 10 4.00 10 VLEN1024X300SiFive7VA1[1,5],VLEN1024X300SiFive7VA1OrVA2[1,5],VLEN1024X300SiFive7VCQ SF_VFNRCLIP_XU_F_QF sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli a0, zero, e8, m1, ta, ma
# CHECK-NEXT: 1 13 8.00 13 VLEN1024X300SiFive7VA1[1,9],VLEN1024X300SiFive7VA1OrVA2[1,9],VLEN1024X300SiFive7VCQ SF_VFNRCLIP_XU_F_QF sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: 1 3 1.00 U 1 VLEN1024X300SiFive7PipeA,VLEN1024X300SiFive7PipeAB VSETVLI vsetvli a0, zero, e8, m2, ta, ma
# CHECK-NEXT: 1 19 16.00 19 VLEN1024X300SiFive7VA1[1,17],VLEN1024X300SiFive7VA1OrVA2[1,17],VLEN1024X300SiFive7VCQ SF_VFNRCLIP_XU_F_QF sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK: Resources:
# CHECK-NEXT: [0] - VLEN1024X300SiFive7FDiv
# CHECK-NEXT: [1] - VLEN1024X300SiFive7IDiv
# CHECK-NEXT: [2] - VLEN1024X300SiFive7PipeA
# CHECK-NEXT: [3] - VLEN1024X300SiFive7PipeB
# CHECK-NEXT: [4] - VLEN1024X300SiFive7VA1
# CHECK-NEXT: [5] - VLEN1024X300SiFive7VA2
# CHECK-NEXT: [6] - VLEN1024X300SiFive7VCQ
# CHECK-NEXT: [7] - VLEN1024X300SiFive7VL
# CHECK-NEXT: [8] - VLEN1024X300SiFive7VS
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8]
# CHECK-NEXT: - - 5.00 - 36.00 - 5.00 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] Instructions:
# CHECK-NEXT: - - 1.00 - - - - - - vsetvli a0, zero, e8, mf8, ta, ma
# CHECK-NEXT: - - - - 2.00 - 1.00 - - sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: - - 1.00 - - - - - - vsetvli a0, zero, e8, mf4, ta, ma
# CHECK-NEXT: - - - - 3.00 - 1.00 - - sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: - - 1.00 - - - - - - vsetvli a0, zero, e8, mf2, ta, ma
# CHECK-NEXT: - - - - 5.00 - 1.00 - - sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: - - 1.00 - - - - - - vsetvli a0, zero, e8, m1, ta, ma
# CHECK-NEXT: - - - - 9.00 - 1.00 - - sf.vfnrclip.xu.f.qf v4, v8, fa2
# CHECK-NEXT: - - 1.00 - - - - - - vsetvli a0, zero, e8, m2, ta, ma
# CHECK-NEXT: - - - - 17.00 - 1.00 - - sf.vfnrclip.xu.f.qf v4, v8, fa2
|