test_cases:
  -
    input:
      bytes: [ 0xc1, 0x0b, 0x60, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "dmt"

  -
    input:
      bytes: [ 0xc1, 0x0b, 0x65, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "dmt $5"

  -
    input:
      bytes: [ 0xe1, 0x0b, 0x60, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "emt"

  -
    input:
      bytes: [ 0xe1, 0x0b, 0x64, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "emt $4"

  -
    input:
      bytes: [ 0x01, 0x00, 0x60, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "dvpe"

  -
    input:
      bytes: [ 0x01, 0x00, 0x66, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "dvpe $6"

  -
    input:
      bytes: [ 0x21, 0x00, 0x60, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "evpe"

  -
    input:
      bytes: [ 0x21, 0x00, 0x64, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "evpe $4"

  -
    input:
      bytes: [ 0x08, 0x10, 0x65, 0x7c ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "fork $2, $3, $5"

  -
    input:
      bytes: [ 0x09, 0x00, 0x80, 0x7c ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "yield $4"

  -
    input:
      bytes: [ 0x09, 0x20, 0xa0, 0x7c ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "yield $4, $5"

  -
    input:
      bytes: [ 0x02, 0x20, 0x05, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $5, 0, 2, 0"

  -
    input:
      bytes: [ 0x20, 0x20, 0x05, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $5, 1, 0, 0"

  -
    input:
      bytes: [ 0x21, 0x20, 0x00, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $zero, 1, 1, 0"

  -
    input:
      bytes: [ 0x21, 0x20, 0x0a, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $10, 1, 1, 0"

  -
    input:
      bytes: [ 0x22, 0x20, 0x0a, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $10, 1, 2, 0"

  -
    input:
      bytes: [ 0x32, 0x20, 0x0a, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $10, 1, 2, 1"

  -
    input:
      bytes: [ 0x23, 0x20, 0x1a, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $26, 1, 3, 0"

  -
    input:
      bytes: [ 0x23, 0x20, 0x1f, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $ra, 1, 3, 0"

  -
    input:
      bytes: [ 0x24, 0x20, 0x0e, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $14, 1, 4, 0"

  -
    input:
      bytes: [ 0x25, 0x20, 0x0f, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $4, $15, 1, 5, 0"

  -
    input:
      bytes: [ 0x02, 0x28, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $5, 0, 2, 0"

  -
    input:
      bytes: [ 0x20, 0x28, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $5, 1, 0, 0"

  -
    input:
      bytes: [ 0x21, 0x00, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $zero, 1, 1, 0"

  -
    input:
      bytes: [ 0x21, 0x50, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $10, 1, 1, 0"

  -
    input:
      bytes: [ 0x22, 0x50, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $10, 1, 2, 0"

  -
    input:
      bytes: [ 0x32, 0x50, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $10, 1, 2, 1"

  -
    input:
      bytes: [ 0x23, 0xd0, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $26, 1, 3, 0"

  -
    input:
      bytes: [ 0x23, 0xf8, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $ra, 1, 3, 0"

  -
    input:
      bytes: [ 0x24, 0x70, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $14, 1, 4, 0"

  -
    input:
      bytes: [ 0x25, 0x78, 0x84, 0x41 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_LITTLE_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $4, $15, 1, 5, 0"
