test_cases:
  -
    input:
      bytes: [ 0x93, 0x52, 0x83, 0x6b ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "rev8 t0, t1"

  -
    input:
      bytes: [ 0xbb, 0x52, 0x73, 0x60 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "rorw t0, t1, t2"

  -
    input:
      bytes: [ 0xbb, 0x12, 0x73, 0x60 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "rolw t0, t1, t2"

  -
    input:
      bytes: [ 0x9b, 0x52, 0xf3, 0x61 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "roriw t0, t1, 31"

  -
    input:
      bytes: [ 0x9b, 0x52, 0x03, 0x60 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "roriw t0, t1, 0"

  -
    input:
      bytes: [ 0xbb, 0x42, 0x73, 0x08 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "packw t0, t1, t2"

  -
    input:
      bytes: [ 0xbb, 0x42, 0x03, 0x08 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV64", "CS_MODE_RISCV_ZBKB" ]
    expected:
      insns:
        -
          asm_text: "packw t0, t1, zero"
