]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
MIPS16: Simplify extended operand handling
authorMaciej W. Rozycki <macro@imgtec.com>
Fri, 23 Dec 2016 19:40:09 +0000 (19:40 +0000)
committerMaciej W. Rozycki <macro@imgtec.com>
Fri, 23 Dec 2016 20:37:18 +0000 (20:37 +0000)
commit5d766ae78a9dd4e71d7c989e8f3bdf1fd61b8068
tree56e867c6b548ace4e137272572a562bdb3deb96b
parent3e523b9b0c5bccde948494ab85a5d6821d8ecf78
MIPS16: Simplify extended operand handling

Simplify extended operand handling and only specially process immediates
which require bit shuffling, using the generic operand insertion and
extraction handlers for the '<' (5-bit shift amount) operand code in
particular.  Require the least significant bit of all extended operand
forms to be (artificially) set to 0 for their special processing to
trigger.

gas/
* config/tc-mips.c (mips16_immed): Limit `mips16_immed_extend'
use to operands whose LSB position is zero.

opcodes/
* mips-dis.c (print_mips16_insn_arg): Simplify processing of
extended operands.
* mips16-opc.c (decode_mips16_operand): Switch the extended
form of the `<' operand type to LSB position 22.

(cherry picked from commit bdd152861ce75c36828904cf3d10f8ce14da6cf5)
gas/ChangeLog
gas/config/tc-mips.c
opcodes/ChangeLog
opcodes/mips-dis.c
opcodes/mips16-opc.c