test_cases:
  -
    input:
      bytes: [ 0x57, 0x25, 0x95, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vbrev.v v10, v9, v0.t"

  -
    input:
      bytes: [ 0x57, 0x25, 0x96, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vclz.v v10, v9, v0.t"

  -
    input:
      bytes: [ 0x57, 0x25, 0x97, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vcpop.v v10, v9, v0.t"

  -
    input:
      bytes: [ 0x57, 0xa5, 0x96, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vctz.v v10, v9, v0.t"

  -
    input:
      bytes: [ 0x57, 0x05, 0x94, 0xd4 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vwsll.vv v10, v9, v8, v0.t"

  -
    input:
      bytes: [ 0x57, 0x45, 0x95, 0xd4 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vwsll.vx v10, v9, a0, v0.t"

  -
    input:
      bytes: [ 0x57, 0xb5, 0x9e, 0xd4 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvbb" ]
    expected:
      insns:
        -
          asm_text: "vwsll.vi v10, v9, 29, v0.t"
