test_cases:
  -
    input:
      bytes: [ 0xb3, 0x12, 0x73, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "bclr t0, t1, t2"

  -
    input:
      bytes: [ 0xb3, 0x12, 0x73, 0x28 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "bset t0, t1, t2"

  -
    input:
      bytes: [ 0xb3, 0x12, 0x73, 0x68 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "binv t0, t1, t2"

  -
    input:
      bytes: [ 0xb3, 0x52, 0x73, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "bext t0, t1, t2"

  -
    input:
      bytes: [ 0x93, 0x12, 0x13, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "bclri t0, t1, 1"

  -
    input:
      bytes: [ 0x93, 0x12, 0x13, 0x28 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "bseti t0, t1, 1"

  -
    input:
      bytes: [ 0x93, 0x12, 0x13, 0x68 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "binvi t0, t1, 1"

  -
    input:
      bytes: [ 0x93, 0x52, 0x13, 0x48 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "CS_MODE_RISCV_ZBS" ]
    expected:
      insns:
        -
          asm_text: "bexti t0, t1, 1"
