test_cases:
  -
    input:
      bytes: [ 0x57, 0x14, 0x4a, 0x00 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfadd.vv v8, v4, v20, v0.t"

  -
    input:
      bytes: [ 0x57, 0x14, 0x4a, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfadd.vv v8, v4, v20"

  -
    input:
      bytes: [ 0x57, 0x54, 0x45, 0x00 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfadd.vf v8, v4, fa0, v0.t"

  -
    input:
      bytes: [ 0x57, 0x54, 0x45, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfadd.vf v8, v4, fa0"

  -
    input:
      bytes: [ 0x57, 0x14, 0x4a, 0xc0 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.vv v8, v4, v20, v0.t"

  -
    input:
      bytes: [ 0x57, 0x14, 0x4a, 0xc2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.vv v8, v4, v20"

  -
    input:
      bytes: [ 0x57, 0x54, 0x45, 0xc0 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.vf v8, v4, fa0, v0.t"

  -
    input:
      bytes: [ 0x57, 0x54, 0x45, 0xc2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.vf v8, v4, fa0"

  -
    input:
      bytes: [ 0x57, 0x14, 0x4a, 0xd0 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.wv v8, v4, v20, v0.t"

  -
    input:
      bytes: [ 0x57, 0x14, 0x4a, 0xd2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.wv v8, v4, v20"

  -
    input:
      bytes: [ 0x57, 0x54, 0x45, 0xd0 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.wf v8, v4, fa0, v0.t"

  -
    input:
      bytes: [ 0x57, 0x54, 0x45, 0xd2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_V", "CS_MODE_RISCV_F" ]
    expected:
      insns:
        -
          asm_text: "vfwadd.wf v8, v4, fa0"
