This corrects the implementation of Thumb ADR instruction. There are three issues:
authorMihai Popa <mihail.popa@gmail.com>
Wed, 3 Jul 2013 09:21:44 +0000 (09:21 +0000)
committerMihai Popa <mihail.popa@gmail.com>
Wed, 3 Jul 2013 09:21:44 +0000 (09:21 +0000)
commitb81b477cd4392a51112c3af0659ea9fc176e74f1
treecf756fe65576dcd08809d3b7db34079776a0a7bc
parenta10c01a6c62792be825c562314a646437b21bfec
This  corrects the implementation of Thumb ADR instruction. There are three issues:
1. it should accept only 4-byte aligned addresses
2. the maximum offset should be 1020
3. it should be encoded with the offset scaled by two bits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185528 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
lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
lib/Target/ARM/InstPrinter/ARMInstPrinter.h
test/MC/ARM/basic-thumb-instructions.s
test/MC/ARM/basic-thumb2-instructions.s
test/MC/Disassembler/ARM/thumb1.txt