# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-p870 -iterations=1 -instruction-tables=full < %s | FileCheck %s

vsetvli zero, zero, e8, mf8, ta, ma
vlse8.v   v8, (a0), t0
vsetvli zero, zero, e8, mf4, ta, ma
vlse8.v   v8, (a0), t0
vsetvli zero, zero, e8, mf2, ta, ma
vlse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m1, ta, ma
vlse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m2, ta, ma
vlse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m4, ta, ma
vlse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m8, ta, ma
vlse8.v   v8, (a0), t0

vsetvli zero, zero, e16, mf4, ta, ma
vlse16.v   v8, (a0), t0
vsetvli zero, zero, e16, mf2, ta, ma
vlse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m1, ta, ma
vlse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m2, ta, ma
vlse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m4, ta, ma
vlse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m8, ta, ma
vlse16.v   v8, (a0), t0

vsetvli zero, zero, e32, mf2, ta, ma
vlse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m1, ta, ma
vlse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m2, ta, ma
vlse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m4, ta, ma
vlse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m8, ta, ma
vlse32.v   v8, (a0), t0

vsetvli zero, zero, e64, m1, ta, ma
vlse64.v   v8, (a0), t0
vsetvli zero, zero, e64, m2, ta, ma
vlse64.v   v8, (a0), t0
vsetvli zero, zero, e64, m4, ta, ma
vlse64.v   v8, (a0), t0
vsetvli zero, zero, e64, m8, ta, ma
vlse64.v   v8, (a0), t0

vsetvli zero, zero, e8, mf8, ta, ma
vsse8.v   v8, (a0), t0
vsetvli zero, zero, e8, mf4, ta, ma
vsse8.v   v8, (a0), t0
vsetvli zero, zero, e8, mf2, ta, ma
vsse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m1, ta, ma
vsse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m2, ta, ma
vsse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m4, ta, ma
vsse8.v   v8, (a0), t0
vsetvli zero, zero, e8, m8, ta, ma
vsse8.v   v8, (a0), t0

vsetvli zero, zero, e16, mf4, ta, ma
vsse16.v   v8, (a0), t0
vsetvli zero, zero, e16, mf2, ta, ma
vsse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m1, ta, ma
vsse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m2, ta, ma
vsse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m4, ta, ma
vsse16.v   v8, (a0), t0
vsetvli zero, zero, e16, m8, ta, ma
vsse16.v   v8, (a0), t0

vsetvli zero, zero, e32, mf2, ta, ma
vsse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m1, ta, ma
vsse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m2, ta, ma
vsse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m4, ta, ma
vsse32.v   v8, (a0), t0
vsetvli zero, zero, e32, m8, ta, ma
vsse32.v   v8, (a0), t0

vsetvli zero, zero, e64, m1, ta, ma
vsse64.v   v8, (a0), t0
vsetvli zero, zero, e64, m2, ta, ma
vsse64.v   v8, (a0), t0
vsetvli zero, zero, e64, m4, ta, ma
vsse64.v   v8, (a0), t0
vsetvli zero, zero, e64, m8, ta, ma
vsse64.v   v8, (a0), t0

# CHECK:      Resources:
# CHECK-NEXT: [0]   - SiFiveP800Branch:2 SiFiveP800IEXQ4, SiFiveP800IEXQ5
# CHECK-NEXT: [1]   - SiFiveP800Div:1
# CHECK-NEXT: [2]   - SiFiveP800FEXQ0:1
# CHECK-NEXT: [3]   - SiFiveP800FEXQ1:1
# CHECK-NEXT: [4]   - SiFiveP800FloatArith:2 SiFiveP800FEXQ0, SiFiveP800FEXQ1
# CHECK-NEXT: [5]   - SiFiveP800FloatDiv:1
# CHECK-NEXT: [6]   - SiFiveP800IEXQ0:1
# CHECK-NEXT: [7]   - SiFiveP800IEXQ1:1
# CHECK-NEXT: [8]   - SiFiveP800IEXQ2:1
# CHECK-NEXT: [9]   - SiFiveP800IEXQ3:1
# CHECK-NEXT: [10]  - SiFiveP800IEXQ4:1
# CHECK-NEXT: [11]  - SiFiveP800IEXQ5:1
# CHECK-NEXT: [12]  - SiFiveP800IntArith:4 SiFiveP800IEXQ0, SiFiveP800IEXQ1, SiFiveP800IEXQ2, SiFiveP800IEXQ3
# CHECK-NEXT: [13]  - SiFiveP800LD:1
# CHECK-NEXT: [14]  - SiFiveP800LDST:2
# CHECK-NEXT: [15]  - SiFiveP800Load:3 SiFiveP800LDST, SiFiveP800LDST, SiFiveP800LD
# CHECK-NEXT: [16]  - SiFiveP800Mul:2 SiFiveP800IEXQ1, SiFiveP800IEXQ3
# CHECK-NEXT: [17]  - SiFiveP800VDiv:1
# CHECK-NEXT: [18]  - SiFiveP800VEXQ0:1
# CHECK-NEXT: [19]  - SiFiveP800VEXQ1:1
# CHECK-NEXT: [20]  - SiFiveP800VFloatDiv:1
# CHECK-NEXT: [21]  - SiFiveP800VLD:1
# CHECK-NEXT: [22]  - SiFiveP800VST:1
# CHECK-NEXT: [23]  - SiFiveP800VectorArith:2 SiFiveP800VEXQ0, SiFiveP800VEXQ1

# 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      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      12    2.00    *                    12    SiFiveP800VLD[2]                           VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      12    4.00    *                    12    SiFiveP800VLD[4]                           VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      12    8.00    *                    12    SiFiveP800VLD[8]                           VLSE8_V                    vlse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE16_V                   vlse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE16_V                   vlse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE16_V                   vlse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  1      12    2.00    *                    12    SiFiveP800VLD[2]                           VLSE16_V                   vlse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  1      12    4.00    *                    12    SiFiveP800VLD[4]                           VLSE16_V                   vlse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  1      12    8.00    *                    12    SiFiveP800VLD[8]                           VLSE16_V                   vlse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE32_V                   vlse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE32_V                   vlse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  1      12    2.00    *                    12    SiFiveP800VLD[2]                           VLSE32_V                   vlse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  1      12    4.00    *                    12    SiFiveP800VLD[4]                           VLSE32_V                   vlse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  1      12    8.00    *                    12    SiFiveP800VLD[8]                           VLSE32_V                   vlse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  1      12    1.00    *                    12    SiFiveP800VLD                              VLSE64_V                   vlse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  1      12    2.00    *                    12    SiFiveP800VLD[2]                           VLSE64_V                   vlse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  1      12    4.00    *                    12    SiFiveP800VLD[4]                           VLSE64_V                   vlse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  1      12    8.00    *                    12    SiFiveP800VLD[8]                           VLSE64_V                   vlse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      12    2.00           *             12    SiFiveP800VST[2]                           VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      12    4.00           *             12    SiFiveP800VST[4]                           VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      12    8.00           *             12    SiFiveP800VST[8]                           VSSE8_V                    vsse8.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE16_V                   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE16_V                   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE16_V                   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  1      12    2.00           *             12    SiFiveP800VST[2]                           VSSE16_V                   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  1      12    4.00           *             12    SiFiveP800VST[4]                           VSSE16_V                   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  1      12    8.00           *             12    SiFiveP800VST[8]                           VSSE16_V                   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE32_V                   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE32_V                   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  1      12    2.00           *             12    SiFiveP800VST[2]                           VSSE32_V                   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  1      12    4.00           *             12    SiFiveP800VST[4]                           VSSE32_V                   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  1      12    8.00           *             12    SiFiveP800VST[8]                           VSSE32_V                   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  1      12    1.00           *             12    SiFiveP800VST                              VSSE64_V                   vsse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  1      12    2.00           *             12    SiFiveP800VST[2]                           VSSE64_V                   vsse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  1      12    4.00           *             12    SiFiveP800VST[4]                           VSSE64_V                   vsse64.v	v8, (a0), t0
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  1      12    8.00           *             12    SiFiveP800VST[8]                           VSSE64_V                   vsse64.v	v8, (a0), t0

# CHECK:      Resources:
# CHECK-NEXT: [0]   - SiFiveP800Div
# CHECK-NEXT: [1]   - SiFiveP800FEXQ0
# CHECK-NEXT: [2]   - SiFiveP800FEXQ1
# CHECK-NEXT: [3]   - SiFiveP800FloatDiv
# CHECK-NEXT: [4]   - SiFiveP800IEXQ0
# CHECK-NEXT: [5]   - SiFiveP800IEXQ1
# CHECK-NEXT: [6]   - SiFiveP800IEXQ2
# CHECK-NEXT: [7]   - SiFiveP800IEXQ3
# CHECK-NEXT: [8]   - SiFiveP800IEXQ4
# CHECK-NEXT: [9]   - SiFiveP800IEXQ5
# CHECK-NEXT: [10]  - SiFiveP800LD
# CHECK-NEXT: [11.0] - SiFiveP800LDST
# CHECK-NEXT: [11.1] - SiFiveP800LDST
# CHECK-NEXT: [12]  - SiFiveP800VDiv
# CHECK-NEXT: [13]  - SiFiveP800VEXQ0
# CHECK-NEXT: [14]  - SiFiveP800VEXQ1
# CHECK-NEXT: [15]  - SiFiveP800VFloatDiv
# CHECK-NEXT: [16]  - SiFiveP800VLD
# CHECK-NEXT: [17]  - SiFiveP800VST

# CHECK:      Resource pressure per iteration:
# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11.0] [11.1] [12]   [13]   [14]   [15]   [16]   [17]
# CHECK-NEXT:  -      -      -      -      -     44.00   -      -      -      -      -      -      -      -      -      -      -     66.00  66.00

# CHECK:      Resource pressure by instruction:
# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11.0] [11.1] [12]   [13]   [14]   [15]   [16]   [17]   Instructions:
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vlse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vlse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vlse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vlse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vlse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vlse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vlse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsse8.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsse16.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsse32.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vsse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vsse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vsse64.v	v8, (a0), t0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsse64.v	v8, (a0), t0
