test_cases:
  -
    input:
      bytes: [ 0x57, 0x04, 0x0a, 0x5e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv.v.v v8, v20"

  -
    input:
      bytes: [ 0x57, 0x44, 0x05, 0x5e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv.v.x v8, a0"

  -
    input:
      bytes: [ 0x57, 0xb4, 0x07, 0x5e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv.v.i v8, 15"

  -
    input:
      bytes: [ 0x57, 0x26, 0x40, 0x42 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv.x.s a2, v4"

  -
    input:
      bytes: [ 0x57, 0x64, 0x05, 0x42 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv.s.x v8, a0"

  -
    input:
      bytes: [ 0x57, 0x34, 0x40, 0x9e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv1r.v v8, v4"

  -
    input:
      bytes: [ 0x57, 0xb4, 0x40, 0x9e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv2r.v v8, v4"

  -
    input:
      bytes: [ 0x57, 0xb4, 0x41, 0x9e ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv4r.v v8, v4"

  -
    input:
      bytes: [ 0x57, 0xb4, 0x83, 0x9f ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V" ]
    expected:
      insns:
        -
          asm_text: "vmv8r.v v8, v24"
