test_cases:
  -
    input:
      bytes: [ 0x77, 0xa5, 0x93, 0x86 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvksed" ]
    expected:
      insns:
        -
          asm_text: "vsm4k.vi v10, v9, 7"

  -
    input:
      bytes: [ 0x77, 0xa5, 0x9f, 0x86 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvksed" ]
    expected:
      insns:
        -
          asm_text: "vsm4k.vi v10, v9, 31"

  -
    input:
      bytes: [ 0x77, 0x25, 0x98, 0xa2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvksed" ]
    expected:
      insns:
        -
          asm_text: "vsm4r.vv v10, v9"

  -
    input:
      bytes: [ 0x77, 0x25, 0x98, 0xa6 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvksed" ]
    expected:
      insns:
        -
          asm_text: "vsm4r.vs v10, v9"
