test_cases:
  -
    input:
      bytes: [ 0x07, 0x00, 0xb5, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlm.v v0, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0xb5, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlm.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0x05, 0x00 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle8.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x04, 0x05, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle8.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x54, 0x05, 0x00 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle16.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x54, 0x05, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle16.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x64, 0x05, 0x00 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle32.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x64, 0x05, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle32.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x74, 0x05, 0x00 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle64.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x74, 0x05, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle64.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0x05, 0x01 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle8ff.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x04, 0x05, 0x03 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle8ff.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x54, 0x05, 0x01 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle16ff.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x54, 0x05, 0x03 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle16ff.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x64, 0x05, 0x01 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle32ff.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x64, 0x05, 0x03 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle32ff.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x74, 0x05, 0x01 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle64ff.v v8, (a0), v0.t"

  -
    input:
      bytes: [ 0x07, 0x74, 0x05, 0x03 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vle64ff.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0xb5, 0x08 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse8.v v8, (a0), a1, v0.t"

  -
    input:
      bytes: [ 0x07, 0x04, 0xb5, 0x0a ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse8.v v8, (a0), a1"

  -
    input:
      bytes: [ 0x07, 0x54, 0xb5, 0x08 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse16.v v8, (a0), a1, v0.t"

  -
    input:
      bytes: [ 0x07, 0x54, 0xb5, 0x0a ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse16.v v8, (a0), a1"

  -
    input:
      bytes: [ 0x07, 0x64, 0xb5, 0x08 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse32.v v8, (a0), a1, v0.t"

  -
    input:
      bytes: [ 0x07, 0x64, 0xb5, 0x0a ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse32.v v8, (a0), a1"

  -
    input:
      bytes: [ 0x07, 0x74, 0xb5, 0x08 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse64.v v8, (a0), a1, v0.t"

  -
    input:
      bytes: [ 0x07, 0x74, 0xb5, 0x0a ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vlse64.v v8, (a0), a1"

  -
    input:
      bytes: [ 0x07, 0x04, 0x45, 0x04 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei8.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x04, 0x45, 0x06 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei8.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x54, 0x45, 0x04 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei16.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x54, 0x45, 0x06 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei16.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x64, 0x45, 0x04 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei32.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x64, 0x45, 0x06 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei32.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x74, 0x45, 0x04 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei64.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x74, 0x45, 0x06 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vluxei64.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x04, 0x45, 0x0c ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei8.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x04, 0x45, 0x0e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei8.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x54, 0x45, 0x0c ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei16.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x54, 0x45, 0x0e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei16.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x64, 0x45, 0x0c ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei32.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x64, 0x45, 0x0e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei32.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x74, 0x45, 0x0c ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei64.v v8, (a0), v4, v0.t"

  -
    input:
      bytes: [ 0x07, 0x74, 0x45, 0x0e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vloxei64.v v8, (a0), v4"

  -
    input:
      bytes: [ 0x07, 0x04, 0x85, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl1re8.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x54, 0x85, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl1re16.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x64, 0x85, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl1re32.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x74, 0x85, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl1re64.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0x85, 0x22 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl2re8.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x54, 0x85, 0x22 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl2re16.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x64, 0x85, 0x22 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl2re32.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x74, 0x85, 0x22 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl2re64.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0x85, 0x62 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl4re8.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x54, 0x85, 0x62 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl4re16.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x64, 0x85, 0x62 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl4re32.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x74, 0x85, 0x62 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl4re64.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x04, 0x85, 0xe2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl8re8.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x54, 0x85, 0xe2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl8re16.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x64, 0x85, 0xe2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl8re32.v v8, (a0)"

  -
    input:
      bytes: [ 0x07, 0x74, 0x85, 0xe2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "vl8re64.v v8, (a0)"
