test_cases:
  -
    input:
      bytes: [ 0x77, 0xa5, 0x90, 0xa2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaesdf.vv v10, v9"

  -
    input:
      bytes: [ 0x77, 0xa5, 0x90, 0xa6 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaesdf.vs v10, v9"

  -
    input:
      bytes: [ 0x77, 0xa5, 0x91, 0xa2 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaesef.vv v10, v9"

  -
    input:
      bytes: [ 0x77, 0xa5, 0x91, 0xa6 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaesef.vs v10, v9"

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

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

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

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

  -
    input:
      bytes: [ 0x77, 0xa5, 0x90, 0x8a ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaeskf1.vi v10, v9, 1"

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

  -
    input:
      bytes: [ 0x77, 0x25, 0x91, 0xaa ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaeskf2.vi v10, v9, 2"

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

  -
    input:
      bytes: [ 0x77, 0xa5, 0x93, 0xa6 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "zve32x", "zvkned" ]
    expected:
      insns:
        -
          asm_text: "vaesz.vs v10, v9"
