summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/ARM/thumb-diagnostics.s32
-rw-r--r--llvm/test/MC/ARM/thumb2-diagnostics.s6
-rw-r--r--llvm/test/MC/ARM/v8_IT_manual.s7
3 files changed, 7 insertions, 38 deletions
diff --git a/llvm/test/MC/ARM/thumb-diagnostics.s b/llvm/test/MC/ARM/thumb-diagnostics.s
index a1ad3c085b6..d2261293378 100644
--- a/llvm/test/MC/ARM/thumb-diagnostics.s
+++ b/llvm/test/MC/ARM/thumb-diagnostics.s
@@ -68,7 +68,6 @@ error: invalid operand for instruction
ldmfd r2!, {r1, r3-r6, sp}
ldmdb r1, {r2, r3, sp}
ldmdb r1!, {r2, r3, sp}
- ldm r2, {r5, lr, pc}
@ CHECK-ERRORS: error: registers must be in range r0-r7
@ CHECK-ERRORS: ldm r2!, {r5, r8}
@ CHECK-ERRORS: ^
@@ -105,31 +104,16 @@ error: invalid operand for instruction
@ CHECK-ERRORS-V7M: error: SP not allowed in register list
@ CHECK-ERRORS-V7M: ldmdb r1!, {r2, r3, sp}
@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: LR not allowed in the list, when PC is in the register list
-@ CHECK-ERRORS-V7M: ldm r2, {r5, lr, pc}
-@ CHECK-ERRORS-V7M: ^
@ Invalid writeback and register lists for PUSH/POP
pop {r1, r2, r10}
- pop {r1, r2, lr, pc}
push {r8, r9}
- push {r8, r9, sp}
- push {r8, r9, pc}
@ CHECK-ERRORS: error: registers must be in range r0-r7 or pc
@ CHECK-ERRORS: pop {r1, r2, r10}
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS-V7M: error: LR not allowed in the list, when PC is in the register list
-@ CHECK-ERRORS-V7M: pop {r1, r2, lr, pc}
-@ CHECK-ERRORS-V7M: ^
@ CHECK-ERRORS: error: registers must be in range r0-r7 or lr
@ CHECK-ERRORS: push {r8, r9}
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
-@ CHECK-ERRORS-V7M: push {r8, r9, sp}
-@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
-@ CHECK-ERRORS-V7M: push {r8, r9, pc}
-@ CHECK-ERRORS-V7M: ^
@ Invalid writeback and register lists for STM
@@ -141,8 +125,6 @@ error: invalid operand for instruction
stmia r4!, {r0-r3, sp}
stmdb r1, {r2, r3, sp}
stmdb r1!, {r2, r3, sp}
- stmia r4, {r2, sp, pc}
- stmdb r1!, {r2, r3, pc}
@ CHECK-ERRORS: error: instruction requires: thumb2
@ CHECK-ERRORS: stm r1, {r2, r6}
@ CHECK-ERRORS: ^
@@ -155,24 +137,18 @@ error: invalid operand for instruction
@ CHECK-ERRORS-V8: error: writeback register not allowed in register list
@ CHECK-ERRORS-V8: stmdb r2!, {r0, r2}
@ CHECK-ERRORS-V8: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
+@ CHECK-ERRORS-V7M: error: SP not allowed in register list
@ CHECK-ERRORS-V7M: stm r1!, {r2, sp}
@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
+@ CHECK-ERRORS-V7M: error: SP not allowed in register list
@ CHECK-ERRORS-V7M: stmia r4!, {r0-r3, sp}
@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
+@ CHECK-ERRORS-V7M: error: SP not allowed in register list
@ CHECK-ERRORS-V7M: stmdb r1, {r2, r3, sp}
@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
+@ CHECK-ERRORS-V7M: error: SP not allowed in register list
@ CHECK-ERRORS-V7M: stmdb r1!, {r2, r3, sp}
@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
-@ CHECK-ERRORS-V7M: stmia r4, {r2, sp, pc}
-@ CHECK-ERRORS-V7M: ^
-@ CHECK-ERRORS-V7M: error: SP, PC not allowed in register list
-@ CHECK-ERRORS-V7M: stmdb r1!, {r2, r3, pc}
-@ CHECK-ERRORS-V7M: ^
@ Out of range immediates for LSL instruction.
lsls r4, r5, #-1
diff --git a/llvm/test/MC/ARM/thumb2-diagnostics.s b/llvm/test/MC/ARM/thumb2-diagnostics.s
index 5376c324069..b2b14bc13d6 100644
--- a/llvm/test/MC/ARM/thumb2-diagnostics.s
+++ b/llvm/test/MC/ARM/thumb2-diagnostics.s
@@ -9,9 +9,6 @@
iteeee gt
ittfe le
nopeq
- ite eq
- ldmiaeq sp!, {r4, pc}
- movne r0, #0
@ CHECK-ERRORS: error: incorrect condition in IT block; got 'le', but expected 'eq'
@ CHECK-ERRORS: addle r0, r1, r2
@@ -31,9 +28,6 @@
@ CHECK-ERRORS: error: predicated instructions must be in IT block
@ CHECK-ERRORS: nopeq
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: Instruction should be outside an IT block or last in IT block, when PC is in the register list
-@ CHECK-ERRORS: ldmiaeq sp!, {r4, pc}
-@ CHECK-ERRORS: ^
@ Out of range immediates for MRC/MRC2/MRRC/MRRC2
mrc p14, #8, r1, c1, c2, #4
diff --git a/llvm/test/MC/ARM/v8_IT_manual.s b/llvm/test/MC/ARM/v8_IT_manual.s
index f6d3941cae2..4b63aa82dd6 100644
--- a/llvm/test/MC/ARM/v8_IT_manual.s
+++ b/llvm/test/MC/ARM/v8_IT_manual.s
@@ -554,11 +554,11 @@ pushge {r1, r3, r7}
@ PUSH, encoding T2 (32-bit)
@ CHECK: [[@LINE+2]]:1: warning: deprecated instruction in IT block
it ge
-pushge {r1, r3, r7}
+pushge {r1, r13, r7}
@ PUSH, encoding T3 (32-bit)
@ CHECK: [[@LINE+2]]:1: warning: deprecated instruction in IT block
it ge
-pushge {r3}
+pushge {r13}
@ REV, encoding T1
@ CHECK: [[@LINE+2]]:1: warning: deprecated instruction in IT block
@@ -614,10 +614,9 @@ stmge r1!, {r2, r3}
@ CHECK: [[@LINE+2]]:1: warning: deprecated instruction in IT block
it ge
stmge r1, {r2, r3}
-@ STM, encoding T3 (32-bit)
@ CHECK: [[@LINE+2]]:1: warning: deprecated instruction in IT block
it ge
-stmge r1!, {r2}
+stmge r1!, {r2, r13}
@ LDM, encoding T1
@ CHECK: [[@LINE+2]]:1: warning: deprecated instruction in IT block
OpenPOWER on IntegriCloud