summaryrefslogtreecommitdiff
path: root/opcodes/arc-dis.c
diff options
context:
space:
mode:
authorGraham Markall <graham.markall@embecosm.com>2016-10-18 20:10:25 +0100
committerGraham Markall <graham.markall@embecosm.com>2016-11-03 17:14:38 +0000
commit5a736821eff3aa4a8da237778526f9f700759c7a (patch)
treecb82b834d2431eefa39fe4626457741daa61653c /opcodes/arc-dis.c
parentbdfe53e3cfebb392b1a0ef50fdd02faafec6dc63 (diff)
arc: Implement NPS-400 dcmac instruction
gas/ChangeLog: * testsuite/gas/arc/nps-400-9.d: Added. * testsuite/gas/arc/nps-400-9.s: Added. include/ChangeLog: * opcode/arc.h: Add PROTOCOL_DECODE to insn_class_t. opcodes/ChangeLog: * arc-dis.c (arc_insn_length): Return length 8 for instructions with major opcode 0xa. * arc-nps-400-tbl.h: Add dcmac instruction. * arc-opc.c (arc_operands): Added operands for dcmac instruction. (insert_nps_rbdouble_64): Added. (extract_nps_rbdouble_64): Added. (insert_nps_proto_size): Added. (extract_nps_proto_size): Added.
Diffstat (limited to 'opcodes/arc-dis.c')
-rw-r--r--opcodes/arc-dis.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c
index 1c951ea2c4..31b5a91db5 100644
--- a/opcodes/arc-dis.c
+++ b/opcodes/arc-dis.c
@@ -595,6 +595,10 @@ arc_insn_length (bfd_byte msb, bfd_byte lsb, struct disassemble_info *info)
else if (minor_opcode == 0x10 || minor_opcode == 0x11)
return 8;
}
+ if (major_opcode == 0xa)
+ {
+ return 8;
+ }
/* Fall through. */
case bfd_mach_arc_arc600:
return (major_opcode > 0xb) ? 2 : 4;