ARM: diagnose invalid system LDM/STM
authorTim Northover <tnorthover@apple.com>
Tue, 12 Nov 2013 21:32:41 +0000 (21:32 +0000)
committerTim Northover <tnorthover@apple.com>
Tue, 12 Nov 2013 21:32:41 +0000 (21:32 +0000)
commit59e648e3c8966e0678902a2994558f25c8573ce4
treef5ba89454cb1bd0e34536a5cb9a3d6f616f2d712
parentd4765aa047c43dc0ce2c4a6a3ccdb91b8fa73c51
ARM: diagnose invalid system LDM/STM

The system LDM and STM instructions can't usually writeback to the base
register. The one exception is when an LDM is actually an exception-return
(i.e. contains PC in the register list).

(There's already a test that "ldm sp!, {r0-r3, pc}^" works, which is why there
is no positive test).

rdar://problem/15223374

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194512 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
test/MC/ARM/diagnostics.s