Fix encoding and add parsing support for the arm/thumb CPS instruction:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 14 Feb 2011 13:09:44 +0000 (13:09 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Mon, 14 Feb 2011 13:09:44 +0000 (13:09 +0000)
commita2b6e4151b75248f9dbf8067186cba673520f8f4
treec4aaaa817865ec6d4759a038002da3ec84e11ec2
parent283c8caccd093f8e1d4f0bdd01ac240b4edbd20a
Fix encoding and add parsing support for the arm/thumb CPS instruction:
- Add custom operand matching for imod and iflags.
- Rename SplitMnemonicAndCC to SplitMnemonic since it splits more than CC
  from mnemonic.
- While adding ".w" as an operand, don't change "Head" to avoid passing the
  wrong mnemonic to ParseOperand.
- Add asm parser tests.
- Add disassembler tests just to make sure it can catch all cps versions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125489 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
lib/Target/ARM/ARMBaseInfo.h
lib/Target/ARM/ARMInstrFormats.td
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h
lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
lib/Target/ARM/InstPrinter/ARMInstPrinter.h
test/MC/ARM/arm_instructions.s
test/MC/ARM/thumb.s
test/MC/ARM/thumb2.s
test/MC/Disassembler/ARM/arm-tests.txt
test/MC/Disassembler/ARM/thumb-tests.txt
utils/TableGen/EDEmitter.cpp