summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/ARM/thumb-diagnostics.s
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/ARM/thumb-diagnostics.s')
-rw-r--r--llvm/test/MC/ARM/thumb-diagnostics.s106
1 files changed, 76 insertions, 30 deletions
diff --git a/llvm/test/MC/ARM/thumb-diagnostics.s b/llvm/test/MC/ARM/thumb-diagnostics.s
index f0a94aa8105..e1045a5e623 100644
--- a/llvm/test/MC/ARM/thumb-diagnostics.s
+++ b/llvm/test/MC/ARM/thumb-diagnostics.s
@@ -11,16 +11,23 @@
@ ADD instruction w/o 'S' suffix.
add r1, r2, r3
-@ CHECK-ERRORS: error: no flag-preserving variant of this instruction available
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: add r1, r2, r3
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: note: invalid operand for instruction
+@ CHECK-ERRORS: note: immediate operand must be in the range [0,7]
+@ CHECK-ERRORS: note: no flag-preserving variant of this instruction available
@ Instructions which require v6+ for both registers to be low regs.
add r2, r3
mov r2, r3
-@ CHECK-ERRORS: error: instruction variant requires Thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: add r2, r3
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: instruction variant requires Thumb2
+@ CHECK-ERRORS: note: invalid operand for instruction
@ CHECK-ERRORS-V5: error: instruction variant requires ARMv6 or later
@ CHECK-ERRORS-V5: mov r2, r3
@ CHECK-ERRORS-V5: ^
@@ -28,32 +35,45 @@
@ Out of range immediates for ASR instruction.
asrs r2, r3, #33
-@ CHECK-ERRORS: error: immediate operand must be in the range [0,32]
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: asrs r2, r3, #33
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: immediate operand must be in the range [1,32]
+@ CHECK-ERRORS: note: too many operands for instruction
@ Out of range immediates for BKPT instruction.
bkpt #256
bkpt #-1
-error: invalid operand for instruction
- bkpt #256
- ^
-error: invalid operand for instruction
- bkpt #-1
- ^
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
+@ CHECK-ERRORS: bkpt #256
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: immediate operand must be in the range [0,255]
+@ CHECK-ERRORS: note: too many operands for instruction
+
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
+@ CHECK-ERRORS: bkpt #-1
+@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: immediate operand must be in the range [0,255]
+@ CHECK-ERRORS: note: too many operands for instruction
@ Out of range immediates for v8 HLT instruction.
hlt #64
hlt #-1
-@CHECK-ERRORS: error: instruction requires: armv8 arm-mode
+@CHECK-ERRORS: error: invalid instruction
@CHECK-ERRORS: hlt #64
@CHECK-ERRORS: ^
-@CHECK-ERRORS-V8: error: instruction requires: arm-mode
+@CHECK-ERRORS-V8: error: invalid instruction, any one of the following would fix this:
@CHECK-ERRORS-V8: hlt #64
@CHECK-ERRORS-V8: ^
-@CHECK-ERRORS: error: immediate operand must be in the range [0,65535]
-@CHECK-ERRORS: hlt #-1
-@CHECK-ERRORS: ^
+@CHECK-ERRORS-V8: note: instruction requires: arm-mode
+@CHECK-ERRORS-V8: immediate operand must be in the range [0,63]
+@CHECK-ERRORS: error: invalid instruction
+@CHECK-ERRORS: hlt #-1
+@CHECK-ERRORS: ^
+@CHECK-ERRORS-V8: error: immediate operand must be in the range [0,63]
+@CHECK-ERRORS-V8: hlt #-1
+@CHECK-ERRORS-V8: ^
@ Invalid writeback and register lists for LDM
ldm r2!, {r5, r8}
@@ -125,9 +145,11 @@ error: invalid operand for instruction
stmia r4!, {r0-r3, sp}
stmdb r1, {r2, r3, sp}
stmdb r1!, {r2, r3, sp}
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: stm r1, {r2, r6}
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: arm-mode
@ CHECK-ERRORS: error: registers must be in range r0-r7
@ CHECK-ERRORS: stm r1!, {r2, r9}
@ CHECK-ERRORS: ^
@@ -153,12 +175,16 @@ error: invalid operand for instruction
@ Out of range immediates for LSL instruction.
lsls r4, r5, #-1
lsls r4, r5, #32
-@ CHECK-ERRORS: error: immediate operand must be in the range [0,31]
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: lsls r4, r5, #-1
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: immediate operand must be in the range [0,31]
+@ CHECK-ERRORS: note: immediate operand must be in the range [0,31]
+@ CHECK-ERRORS: note: too many operands for instruction
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: lsls r4, r5, #32
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: immediate operand must be in the range [0,31]
+@ CHECK-ERRORS: note: too many operands for instruction
@ Mismatched source/destination operands for MUL instruction.
muls r1, r2, r3
@@ -171,25 +197,36 @@ error: invalid operand for instruction
str r2, [r7, #-1]
str r5, [r1, #3]
str r3, [r7, #128]
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: str r2, [r7, #-1]
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: invalid operand for instruction
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: str r5, [r1, #3]
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: invalid operand for instruction
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: str r3, [r7, #128]
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: invalid operand for instruction
@ Out of range immediate for SVC instruction.
svc #-1
svc #256
-@ CHECK-ERRORS: error: immediate operand must be in the range [0,0xffffff]
+@ CHECK-ERRORS: error: immediate operand must be in the range [0,255]
@ CHECK-ERRORS: svc #-1
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: instruction requires: arm-mode
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: svc #256
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: immediate operand must be in the range [0,255]
@ Out of range immediate for ADD SP instructions
@@ -197,15 +234,21 @@ error: invalid operand for instruction
add sp, #3
add sp, sp, #512
add r2, sp, #1024
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: add sp, #-1
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: note: invalid operand for instruction
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: add sp, #3
@ CHECK-ERRORS: ^
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: note: invalid operand for instruction
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
@ CHECK-ERRORS: add sp, sp, #512
@ CHECK-ERRORS: ^
+@ CHECK-ERRORS: note: invalid operand for instruction
+@ CHECK-ERRORS: note: instruction requires: thumb2
@ CHECK-ERRORS: error: instruction requires: thumb2
@ CHECK-ERRORS: add r2, sp, #1024
@ CHECK-ERRORS: ^
@@ -283,7 +326,10 @@ error: invalid operand for instruction
@------------------------------------------------------------------------------
ldr r4, [pc, #-12]
-@ CHECK-ERRORS: error: instruction requires: thumb2
+@ CHECK-ERRORS: error: invalid instruction, any one of the following would fix this:
+@ CHECK-ERRORS: note: instruction requires: thumb2
+@ CHECK-ERRORS: note: instruction requires: arm-mode
+@ CHECK-ERRORS: note: invalid operand for instruction
@------------------------------------------------------------------------------
@ STC2{L}/LDC2{L} - requires thumb2
@@ -292,7 +338,7 @@ error: invalid operand for instruction
stc2l p6, c2, [r7, #4]
ldc2 p0, c8, [r1, #4]
ldc2l p6, c2, [r7, #4]
-@ CHECK-ERRORS: error: invalid operand for instruction
-@ CHECK-ERRORS: error: invalid operand for instruction
-@ CHECK-ERRORS: error: invalid operand for instruction
-@ CHECK-ERRORS: error: invalid operand for instruction
+@ CHECK-ERRORS: error: invalid instruction
+@ CHECK-ERRORS: error: invalid instruction
+@ CHECK-ERRORS: error: invalid instruction
+@ CHECK-ERRORS: error: invalid instruction
OpenPOWER on IntegriCloud