test_cases:
  -
    input:
      bytes: [ 0x33, 0x87, 0x80, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "mul a4, ra, s0"

  -
    input:
      bytes: [ 0xb3, 0x10, 0x00, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "mulh ra, zero, zero"

  -
    input:
      bytes: [ 0xb3, 0xa2, 0x63, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "mulhsu t0, t2, t1"

  -
    input:
      bytes: [ 0xb3, 0x37, 0xd7, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "mulhu a5, a4, a3"

  -
    input:
      bytes: [ 0x33, 0x44, 0x84, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "div s0, s0, s0"

  -
    input:
      bytes: [ 0xb3, 0x51, 0xb5, 0x02 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "divu gp, a0, a1"

  -
    input:
      bytes: [ 0x33, 0x69, 0x89, 0x03 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "rem s2, s2, s8"

  -
    input:
      bytes: [ 0x33, 0x79, 0x89, 0x03 ]
      arch: "CS_ARCH_RISCV"
      options: [ "CS_MODE_RISCV32", "m", "CS_OPT_SYNTAX_NO_ALIAS_TEXT" ]
    expected:
      insns:
        -
          asm_text: "remu s2, s2, s8"
