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

  -
    input:
      bytes: [ 0x41, 0x07, 0x30, 0x01 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $6, $7, 0, 1, 0"

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

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

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

  -
    input:
      bytes: [ 0x41, 0x08, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $8, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x0c, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $12, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x01, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $1, 1, 1, 0"

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

  -
    input:
      bytes: [ 0x41, 0x09, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $9, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x0d, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $13, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x02, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $2, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x06, 0x18, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mftr $3, $6, 1, 1, 0"

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

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

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

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

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

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

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

  -
    input:
      bytes: [ 0x41, 0x86, 0x38, 0x01 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $6, $7, 0, 1, 0"

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

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

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

  -
    input:
      bytes: [ 0x41, 0x83, 0x40, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $8, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x83, 0x60, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $12, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x83, 0x08, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $1, 1, 1, 0"

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

  -
    input:
      bytes: [ 0x41, 0x83, 0x48, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $9, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x83, 0x68, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $13, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x83, 0x10, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $2, 1, 1, 0"

  -
    input:
      bytes: [ 0x41, 0x83, 0x30, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32R2" ]
    expected:
      insns:
        -
          asm_text: "mttr $3, $6, 1, 1, 0"

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

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

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

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

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

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