aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-11-02 14:14:22 +0000
committerNick Clifton <nickc@redhat.com>2015-11-02 14:14:22 +0000
commite292aa7a9529771c04e9578a2307b8c95bb5591c (patch)
treeab52096b7ce3007ec7b2744e0f90ce6075b9a844 /gas/config
parenta62e59897771e2f04fad908fc891714b9bd75d7b (diff)
downloadfsf-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.y6
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;