OSDN Git Service

Add AArch32 DCPS{1,2,3} and HLT instructions.
authorRichard Barton <richard.barton@arm.com>
Thu, 5 Sep 2013 14:14:19 +0000 (14:14 +0000)
committerRichard Barton <richard.barton@arm.com>
Thu, 5 Sep 2013 14:14:19 +0000 (14:14 +0000)
commitb5523ce1bb50e86942ad5273e3a89872c4d26b73
tree4be4ea725d7c13d57c90ad89d1d9ba1abebcd9e2
parent8f3d54d057007552d0abc37c87a50ef34a7ab9ef
Add AArch32 DCPS{1,2,3} and HLT instructions.

These were pretty straightforward instructions, with some assembly support
required for HLT.

The ARM assembler is keen to split the instruction mnemonic into a
(non-existent) 'H' instruction with the LT condition code. An exception for
HLT is needed.

HLT follows the same rules as BKPT when in IT blocks, so the special BKPT
hadling code has been adapted to handle HLT also.

Regression tests added including diagnostic tests for out of range immediates
and illegal condition codes, as well as negative tests for pre-ARMv8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190053 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
test/MC/ARM/basic-arm-instructions-v8.s [new file with mode: 0644]
test/MC/ARM/basic-thumb2-instructions-v8.s [new file with mode: 0644]
test/MC/ARM/diagnostics.s
test/MC/ARM/thumb-diagnostics.s
test/MC/Disassembler/ARM/basic-arm-instructions-v8.txt [new file with mode: 0644]
test/MC/Disassembler/ARM/thumb-v8.txt [new file with mode: 0644]