xref: /llvm-project/llvm/test/MC/ARM/negative-immediates-thumb1-fail.s (revision dc49fbd2df7dd7236dda0d94c1f091aeba532886)
1# RUN: not llvm-mc -triple thumbv7 -mcpu=cortex-m0 %s 2>&1 | FileCheck %s
2
3.thumb
4
5ADDs r1, r0, #0xFFFFFFF5
6# CHECK: error: invalid instruction, any one of the following would fix this:
7# CHECK-DAG: note: instruction requires: thumb2
8# CHECK-DAG: note: invalid operand for instruction
9# CHECK-DAG: note: operand must be an immediate in the range [0,7]
10# CHECK-DAG: note: operand must be a register in range [r0, r7]
11
12ADDs r0, #0xFFFFFEFF
13# CHECK: error: invalid instruction, any one of the following would fix this:
14# CHECK-DAG: note: invalid operand for instruction
15# CHECK-DAG: note: operand must be an immediate in the range [0,255] or a relocatable expression
16
17SUBs r1, r0, #0xFFFFFFF5
18# CHECK: error: invalid instruction, any one of the following would fix this:
19# CHECK-DAG: note: invalid operand for instruction
20# CHECK-DAG: note: operand must be an immediate in the range [0,7]
21# CHECK-DAG: note: operand must be a register in range [r0, r7]
22
23SUBs r0, #0xFFFFFEFF
24# CHECK: error: invalid instruction, any one of the following would fix this:
25# CHECK-DAG: note: invalid operand for instruction
26# CHECK-DAG: note: operand must be an immediate in the range [0,255]
27
28ORRs r0, r1, #0xFFFFFF00
29# CHECK: error: invalid instruction, any one of the following would fix this:
30# CHECK-DAG: note: instruction requires: thumb2
31# CHECK-DAG: note: too many operands for instruction
32
33ORNs r0, r1, #0xFFFFFF00
34# CHECK: error: instruction requires: thumb2
35