diff options
| author | Tim Northover <tnorthover@apple.com> | 2013-10-22 19:00:39 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2013-10-22 19:00:39 +0000 |
| commit | 08a8660260a10b93e49e718be6aedacb5560a250 (patch) | |
| tree | a4e61345955802ab9b1ded2599699e448df8e559 /llvm/test/MC/ARM/diagnostics.s | |
| parent | 476bbb02529e023043e1711e08024e2c8dd5dd6c (diff) | |
| download | bcm5719-llvm-08a8660260a10b93e49e718be6aedacb5560a250.tar.gz bcm5719-llvm-08a8660260a10b93e49e718be6aedacb5560a250.zip | |
ARM: provide diagnostics on more writeback LDM/STM instructions
The set of circumstances where the writeback register is allowed to be in the
list of registers is rather baroque, but I think this implements them all on
the assembly parsing side.
For disassembly, we still warn about an ARM-mode LDM even if the architecture
revision is < v7 (the required architecture information isn't available). It's
a silly instruction anyway, so hopefully no-one will mind.
rdar://problem/15223374
llvm-svn: 193185
Diffstat (limited to 'llvm/test/MC/ARM/diagnostics.s')
| -rw-r--r-- | llvm/test/MC/ARM/diagnostics.s | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/diagnostics.s b/llvm/test/MC/ARM/diagnostics.s index 55bb1dd37ca..5eae4d216e4 100644 --- a/llvm/test/MC/ARM/diagnostics.s +++ b/llvm/test/MC/ARM/diagnostics.s @@ -429,3 +429,10 @@ bkpteq #7 @ CHECK-ERRORS: error: instruction 'bkpt' is not predicable, but condition code specified + + ldm r2!, {r2, r3} + ldmdb r2!, {r2, r3} + ldmda r2!, {r2, r3} +@ CHECK-ERRORS: error: writeback operator '!' not allowed when base register in register list +@ CHECK-ERRORS: error: writeback operator '!' not allowed when base register in register list +@ CHECK-ERRORS: error: writeback operator '!' not allowed when base register in register list |

