ARM assembly parsing and encoding for SSAT instruction.
authorJim Grosbach <grosbach@apple.com>
Mon, 25 Jul 2011 22:20:28 +0000 (22:20 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 25 Jul 2011 22:20:28 +0000 (22:20 +0000)
commit580f4a9c1c2fcbb8877463f873c6e9ca2a5ccf9f
tree0ed0fe0dd26158e4863627ffffab2a73e240c594
parent478849e98ca4661d77c1d6f3f96e8b28e1183fbd
ARM assembly parsing and encoding for SSAT instruction.

Fix the Rn register encoding for both SSAT and USAT. Update the parsing of the
shift operand to correctly handle the allowed shift types and immediate ranges
and issue meaningful diagnostics when an illegal value or shift type is
specified. Add aliases to parse an ommitted shift operand (default value of
'lsl #0').

Add tests for diagnostics and proper encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135990 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrInfo.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
test/MC/ARM/basic-arm-instructions.s
test/MC/ARM/diagnostics.s