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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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