diff options
author | Nick Clifton <nickc@redhat.com> | 2015-11-02 14:14:22 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-11-02 14:14:22 +0000 |
commit | e292aa7a9529771c04e9578a2307b8c95bb5591c (patch) | |
tree | ab52096b7ce3007ec7b2744e0f90ce6075b9a844 /gas/config | |
parent | a62e59897771e2f04fad908fc891714b9bd75d7b (diff) | |
download | fsf-binutils-gdb-e292aa7a9529771c04e9578a2307b8c95bb5591c.zip fsf-binutils-gdb-e292aa7a9529771c04e9578a2307b8c95bb5591c.tar.gz fsf-binutils-gdb-e292aa7a9529771c04e9578a2307b8c95bb5591c.tar.bz2 |
Fix disassembly of RX zero-offset register indirect instructions.
opcode * rx.h (enum RX_Operand_Type): Add RX_Operand_Zero_Indirect.
opcodes * rx-decode.opc (rx_disp): If the displacement is zero, set the
type to RX_Operand_Zero_Indirect.
* rx-decode.c: Regenerate.
* rx-dis (print_insn): Handle RX_Operand_Zero_Indirect.
gas * config/rx-parse.y: Allow zero value for 5-bit displacements.
tests * gas/rx/mov.sm: Add tests for zero offset indirect moves.
* gas/rx/mov.d: Update expected output.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/rx-parse.y | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gas/config/rx-parse.y b/gas/config/rx-parse.y index e155257..87a6c48 100644 --- a/gas/config/rx-parse.y +++ b/gas/config/rx-parse.y @@ -1405,13 +1405,13 @@ rx_disp5op (expressionS * exp, int msize) switch (msize) { case BSIZE: - if (0 < v && v <= 31) + if (0 <= v && v <= 31) return 1; break; case WSIZE: if (v & 1) return 0; - if (0 < v && v <= 63) + if (0 <= v && v <= 63) { exp->X_add_number >>= 1; return 1; @@ -1420,7 +1420,7 @@ rx_disp5op (expressionS * exp, int msize) case LSIZE: if (v & 3) return 0; - if (0 < v && v <= 127) + if (0 <= v && v <= 127) { exp->X_add_number >>= 2; return 1; |