test_cases:
  -
    input:
      bytes: [ 0x83, 0x00, 0x00, 0x38 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "sll $a0, $v1, 7"
  -
    input:
      bytes: [ 0x65, 0x00, 0x10, 0x10 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "sllv $v0, $v1, $a1"
  -
    input:
      bytes: [ 0x83, 0x00, 0x80, 0x38 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "sra $a0, $v1, 7"
  -
    input:
      bytes: [ 0x65, 0x00, 0x90, 0x10 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "srav $v0, $v1, $a1"
  -
    input:
      bytes: [ 0x83, 0x00, 0x40, 0x38 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "srl $a0, $v1, 7"
  -
    input:
      bytes: [ 0x65, 0x00, 0x50, 0x10 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "srlv $v0, $v1, $a1"
  -
    input:
      bytes: [ 0x26, 0x01, 0xc0, 0x38 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "rotr $t1, $a2, 7"
  -
    input:
      bytes: [ 0xc7, 0x00, 0xd0, 0x48 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_MODE_MIPS32", "CS_MODE_MICRO" ]
    expected:
      insns:
        -
          asm_text: "rotrv $t1, $a2, $a3"
