# 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
vle8.v   v8, (a0)
vsetvli zero, zero, e8, mf4, ta, ma
vle8.v   v8, (a0)
vsetvli zero, zero, e8, mf2, ta, ma
vle8.v   v8, (a0)
vsetvli zero, zero, e8, m1, ta, ma
vle8.v   v8, (a0)
vsetvli zero, zero, e8, m2, ta, ma
vle8.v   v8, (a0)
vsetvli zero, zero, e8, m4, ta, ma
vle8.v   v8, (a0)
vsetvli zero, zero, e8, m8, ta, ma
vle8.v   v8, (a0)

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

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

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

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

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

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

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

# Unit-stride mask load/store

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

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

# Fault-only-first

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

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

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

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

# 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      8     1.00    *                    8     SiFiveP800VLD                              VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE8_V                     vle8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE16_V                    vle16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE16_V                    vle16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE16_V                    vle16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE16_V                    vle16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE16_V                    vle16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE16_V                    vle16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE32_V                    vle32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE32_V                    vle32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE32_V                    vle32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE32_V                    vle32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE32_V                    vle32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE64_V                    vle64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE64_V                    vle64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE64_V                    vle64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE64_V                    vle64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      8     2.00           *             8     SiFiveP800VST[2]                           VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      8     4.00           *             8     SiFiveP800VST[4]                           VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSE8_V                     vse8.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE16_V                    vse16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE16_V                    vse16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE16_V                    vse16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  1      8     2.00           *             8     SiFiveP800VST[2]                           VSE16_V                    vse16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  1      8     4.00           *             8     SiFiveP800VST[4]                           VSE16_V                    vse16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSE16_V                    vse16.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE32_V                    vse32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE32_V                    vse32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  1      8     2.00           *             8     SiFiveP800VST[2]                           VSE32_V                    vse32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  1      8     4.00           *             8     SiFiveP800VST[4]                           VSE32_V                    vse32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSE32_V                    vse32.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  1      8     1.00           *             8     SiFiveP800VST                              VSE64_V                    vse64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  1      8     2.00           *             8     SiFiveP800VST[2]                           VSE64_V                    vse64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  1      8     4.00           *             8     SiFiveP800VST[4]                           VSE64_V                    vse64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSE64_V                    vse64.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLM_V                      vlm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      8     8.00           *             8     SiFiveP800VST[8]                           VSM_V                      vsm.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE8FF_V                   vle8ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE16FF_V                  vle16ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE16FF_V                  vle16ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE16FF_V                  vle16ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE16FF_V                  vle16ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE16FF_V                  vle16ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE16FF_V                  vle16ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE32FF_V                  vle32ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE32FF_V                  vle32ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE32FF_V                  vle32ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE32FF_V                  vle32ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE32FF_V                  vle32ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  1      8     1.00    *                    8     SiFiveP800VLD                              VLE64FF_V                  vle64ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  1      8     2.00    *                    8     SiFiveP800VLD[2]                           VLE64FF_V                  vle64ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  1      8     4.00    *                    8     SiFiveP800VLD[4]                           VLE64FF_V                  vle64ff.v	v8, (a0)
# CHECK-NEXT:  1      1     1.00                  U      1     SiFiveP800IEXQ1,SiFiveP800IntArith,SiFiveP800Mul VSETVLI              vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  1      8     8.00    *                    8     SiFiveP800VLD[8]                           VLE64FF_V                  vle64ff.v	v8, (a0)

# 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:  -      -      -      -      -     80.00   -      -      -      -      -      -      -      -      -      -      -     188.00 122.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    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vse8.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vse16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vse16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vse16.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vse32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vse32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vse32.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00   vse64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00   vse64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00   vse64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vse64.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vlm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00   vsm.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e8, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle8ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle16ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle16ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle16ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle16ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle16ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e16, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle16ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, mf2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle32ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle32ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle32ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle32ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e32, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle32ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m1, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     1.00    -     vle64ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m2, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     2.00    -     vle64ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m4, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     4.00    -     vle64ff.v	v8, (a0)
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -      -      -      -      -      -      -     vsetvli	zero, zero, e64, m8, ta, ma
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     8.00    -     vle64ff.v	v8, (a0)
