MIPS/opcodes: Fix undecoded MIPS16 extended instruction bit disassembly
authorMaciej W. Rozycki <macro@imgtec.com>
Mon, 11 Apr 2016 16:56:01 +0000 (17:56 +0100)
committerMaciej W. Rozycki <macro@imgtec.com>
Mon, 11 Apr 2016 17:01:18 +0000 (18:01 +0100)
commit92708ceca544456c26b4b82e2e7fc8afcf1641c8
tree88836f9d07f4b9ed5048d4df67ccea9d46ceee84
parent994aad6437e82ba41192b2235aed5adad61331fd
MIPS/opcodes: Fix undecoded MIPS16 extended instruction bit disassembly

Correct the disassembly of hardware don't cares in MIPS16 extended
instructions.  Rather than e.g.:

   0: f008 0231  addiu v0,sp,16433
   4: f520 3260  sll v0,v1,-12

print:

   0: f008 0231  addiu v0,sp,16401
   4: f520 3260  sll v0,v1,20

respectively instead.

opcodes/
* mips-dis.c (print_mips16_insn_arg): Mask unused extended
instruction bits out.

binutils/
* testsuite/binutils-all/mips/mips16-undecoded.d: New test.
* testsuite/binutils-all/mips/mips16-undecoded.s: New test
source.
* testsuite/binutils-all/mips/mips.exp: Run the new test.
binutils/ChangeLog
binutils/testsuite/binutils-all/mips/mips.exp
binutils/testsuite/binutils-all/mips/mips16-undecoded.d [new file with mode: 0644]
binutils/testsuite/binutils-all/mips/mips16-undecoded.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/mips-dis.c