test_cases:
  -
    input:
      bytes: [ 0x7a, 0x00, 0x08, 0x20 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.b $w0, -512($1)"

  -
    input:
      bytes: [ 0x78, 0x00, 0x10, 0x60 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.b $w1, 0($2)"

  -
    input:
      bytes: [ 0x79, 0xff, 0x18, 0xa0 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.b $w2, 511($3)"

  -
    input:
      bytes: [ 0x7a, 0x00, 0x20, 0xe1 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.h $w3, -1024($4)"

  -
    input:
      bytes: [ 0x7b, 0x00, 0x29, 0x21 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.h $w4, -512($5)"

  -
    input:
      bytes: [ 0x78, 0x00, 0x31, 0x61 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.h $w5, 0($6)"

  -
    input:
      bytes: [ 0x79, 0x00, 0x39, 0xa1 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.h $w6, 512($7)"

  -
    input:
      bytes: [ 0x79, 0xff, 0x41, 0xe1 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.h $w7, 1022($8)"

  -
    input:
      bytes: [ 0x7a, 0x00, 0x4a, 0x22 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.w $w8, -2048($9)"

  -
    input:
      bytes: [ 0x7b, 0x00, 0x52, 0x62 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.w $w9, -1024($10)"

  -
    input:
      bytes: [ 0x7b, 0x80, 0x5a, 0xa2 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.w $w10, -512($11)"

  -
    input:
      bytes: [ 0x78, 0x80, 0x62, 0xe2 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.w $w11, 512($12)"

  -
    input:
      bytes: [ 0x79, 0x00, 0x6b, 0x22 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.w $w12, 1024($13)"

  -
    input:
      bytes: [ 0x79, 0xff, 0x73, 0x62 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.w $w13, 2044($14)"

  -
    input:
      bytes: [ 0x7a, 0x00, 0x7b, 0xa3 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w14, -4096($15)"

  -
    input:
      bytes: [ 0x7b, 0x00, 0x83, 0xe3 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w15, -2048($16)"

  -
    input:
      bytes: [ 0x7b, 0x80, 0x8c, 0x23 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w16, -1024($17)"

  -
    input:
      bytes: [ 0x7b, 0xc0, 0x94, 0x63 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w17, -512($18)"

  -
    input:
      bytes: [ 0x78, 0x00, 0x9c, 0xa3 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w18, 0($19)"

  -
    input:
      bytes: [ 0x78, 0x40, 0xa4, 0xe3 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w19, 512($20)"

  -
    input:
      bytes: [ 0x78, 0x80, 0xad, 0x23 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w20, 1024($21)"

  -
    input:
      bytes: [ 0x79, 0x00, 0xb5, 0x63 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w21, 2048($22)"

  -
    input:
      bytes: [ 0x79, 0xff, 0xbd, 0xa3 ]
      arch: "CS_ARCH_MIPS"
      options: [ "CS_OPT_SYNTAX_NOREGNAME", "CS_MODE_BIG_ENDIAN", "CS_MODE_MIPS32" ]
    expected:
      insns:
        -
          asm_text: "ld.d $w22, 4088($23)"
