[ARC] Disassembler: fix LIMM detection for short instructions.
authorClaudiu Zissulescu <claziss@synopsys.com>
Thu, 13 Oct 2016 13:01:19 +0000 (15:01 +0200)
committerClaudiu Zissulescu <claziss@synopsys.com>
Fri, 14 Oct 2016 11:52:15 +0000 (13:52 +0200)
commite5b06ef06b062f0626462abb182ee5470cf798bc
treec0df3f5db56418cfaf7e1cd62bcc070d9d1cf53e
parentafb1110bfa4fe150cb2f2c58329551bd82cb3627
[ARC] Disassembler: fix LIMM detection for short instructions.

The ARC (short) instructions are using a special register number to
indicate is the instruction uses a long immediate (LIMM).  In the case
of short instruction, this LIMM indicator depends on the ISA version
used. Thus, for ARCv1 processors, the LIMM indicator is 0x3E, the same
value used in "long" instructions.  However, for the ARCv2 processors,
this LIMM indicator is 0x1E.

This patch fixes the LIMM detection for ARCv1 ISA and adds two tests.

gas/
2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>

* testsuite/gas/arc/shortlimm_a7.d: New file.
* testsuite/gas/arc/shortlimm_a7.s: Likewise.
* testsuite/gas/arc/shortlimm_hs.d: Likewise.
* testsuite/gas/arc/shortlimm_hs.s: Likewise.

include/
2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>

* opcode/arc.h (ARC_OPCODE_ARCV2): New define.

opcodes/
2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>

        * arc-dis.c (find_format_from_table): Discriminate LIMM indicator
usage on ISA basis.
gas/ChangeLog
gas/testsuite/gas/arc/shortlimm_a7.d [new file with mode: 0644]
gas/testsuite/gas/arc/shortlimm_a7.s [new file with mode: 0644]
gas/testsuite/gas/arc/shortlimm_hs.d [new file with mode: 0644]
gas/testsuite/gas/arc/shortlimm_hs.s [new file with mode: 0644]
include/ChangeLog
include/opcode/arc.h
opcodes/ChangeLog
opcodes/arc-dis.c