summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Action.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-12-18 05:24:38 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-12-18 05:24:38 +0000
commit3a23917d48806270f0c8de083fd29d7354ad1e15 (patch)
treeb25ef73f83f9ba8c12021706bbc362dafbb17ea0 /clang/lib/Driver/Action.cpp
parent69973e0fa0225ffc20b30d65a9c644cb682e3903 (diff)
downloadbcm5719-llvm-3a23917d48806270f0c8de083fd29d7354ad1e15.tar.gz
bcm5719-llvm-3a23917d48806270f0c8de083fd29d7354ad1e15.zip
ARM: improve instruction validation for thumb mode
The ARM Architecture Reference Manual states the following: LDM{,IA,DB}: The SP cannot be in the list. The PC can be in the list. If the PC is in the list: • the LR must not be in the list • the instruction must be either outside any IT block, or the last instruction in an IT block. POP: The PC can be in the list. If the PC is in the list: • the LR must not be in the list • the instruction must be either outside any IT block, or the last instruction in an IT block. PUSH: The SP and PC can be in the list in ARM instructions, but not in Thumb instructions. STM:{,IA,DB}: The SP and PC can be in the list in ARM instructions, but not in Thumb instructions. llvm-svn: 224502
Diffstat (limited to 'clang/lib/Driver/Action.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud