summaryrefslogtreecommitdiff
path: root/opcodes/s12z-opc.c
diff options
context:
space:
mode:
authorJohn Darrington <john@darrington.wattle.id.au>2019-04-24 09:41:23 +0200
committerJohn Darrington <john@darrington.wattle.id.au>2019-04-24 10:33:52 +0200
commita679f24ecc00ff7df02c5e6e4804fc9f19cbe595 (patch)
tree314b7c379d23089a2c691088d72cf66ab2d4b281 /opcodes/s12z-opc.c
parentd10be0cb9e61f29a0de368ebcc78bba22a902ad5 (diff)
downloadbinutils-gdb-a679f24ecc00ff7df02c5e6e4804fc9f19cbe595.tar.gz
S12Z: Opcodes: Handle bit map operations with non-canonical operands.
opcodes/ * s12z-opc.c (bm_decode): Handle the RESERVERD0 case. gas/ * testsuite/gas/s12z/bit-manip-invalid.d: Extend the test. * testsuite/gas/s12z/bit-manip-invalid.s: Extend the test.
Diffstat (limited to 'opcodes/s12z-opc.c')
-rw-r--r--opcodes/s12z-opc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/opcodes/s12z-opc.c b/opcodes/s12z-opc.c
index 1f02f5dc6a4..e40f90e43ff 100644
--- a/opcodes/s12z-opc.c
+++ b/opcodes/s12z-opc.c
@@ -1821,6 +1821,7 @@ bm_decode (struct mem_read_abstraction_base *mra,
switch (mode)
{
case BM_REG_IMM:
+ case BM_RESERVED0:
imm = (bm & 0x38) >> 3;
operand[(*n_operands)++] = create_immediate_operand (imm);
break;
@@ -1838,9 +1839,6 @@ bm_decode (struct mem_read_abstraction_base *mra,
case BM_RESERVED1:
operand[(*n_operands)++] = create_register_operand ((bm & 0x70) >> 4);
break;
- case BM_RESERVED0:
- assert (0);
- break;
}
}