diff options
author | Maciej W. Rozycki <macro@imgtec.com> | 2016-12-23 19:40:09 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@imgtec.com> | 2016-12-23 19:42:28 +0000 |
commit | bdd152861ce75c36828904cf3d10f8ce14da6cf5 (patch) | |
tree | df5b28e1503eb0ead27b616c07f1a40a8be31ed4 /opcodes/mips16-opc.c | |
parent | 1da43accb4f8e2a19dc033b617982e3c2dc83a08 (diff) | |
download | gdb-bdd152861ce75c36828904cf3d10f8ce14da6cf5.zip gdb-bdd152861ce75c36828904cf3d10f8ce14da6cf5.tar.gz gdb-bdd152861ce75c36828904cf3d10f8ce14da6cf5.tar.bz2 |
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.
Diffstat (limited to 'opcodes/mips16-opc.c')
-rw-r--r-- | opcodes/mips16-opc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/opcodes/mips16-opc.c b/opcodes/mips16-opc.c index fb0e0b7..d102b8c 100644 --- a/opcodes/mips16-opc.c +++ b/opcodes/mips16-opc.c @@ -77,7 +77,7 @@ decode_mips16_operand (char type, bfd_boolean extended_p) if (extended_p) switch (type) { - case '<': UINT (5, 0); + case '<': UINT (5, 22); case '[': UINT (6, 0); case ']': UINT (6, 0); |