1 @ RUN: not llvm-mc -triple=thumbv7-apple-darwin < %s 2> %t
2 @ RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s
4 @ Ill-formed IT block instructions.
16 @ CHECK-ERRORS: error: incorrect condition in IT block; got 'le', but expected 'eq'
17 @ CHECK-ERRORS: addle r0, r1, r2
19 @ CHECK-ERRORS: error: incorrect condition in IT block; got 'al', but expected 'ne'
22 @ CHECK-ERRORS: error: instructions in IT block must be predicable
25 @ CHECK-ERRORS: error: too many conditions on IT instruction
26 @ CHECK-ERRORS: iteeee gt
28 @ CHECK-ERRORS: error: illegal IT block condition mask 'tfe'
29 @ CHECK-ERRORS: ittfe le
31 @ CHECK-ERRORS: error: predicated instructions must be in IT block
34 @ CHECK-ERRORS: error: Instruction should be outside an IT block or last in IT block, when PC is in the register list
35 @ CHECK-ERRORS: ldmiaeq sp!, {r4, pc}
38 @ Out of range immediates for MRC/MRC2/MRRC/MRRC2
39 mrc p14, #8, r1, c1, c2, #4
40 mrc p14, #1, r1, c1, c2, #8
41 mrc2 p14, #8, r1, c1, c2, #4
42 mrc2 p14, #0, r1, c1, c2, #9
43 mrrc p7, #16, r5, r4, c1
44 mrrc2 p7, #17, r5, r4, c1
45 @ CHECK-ERRORS: error: invalid operand for instruction
46 @ CHECK-ERRORS: error: invalid operand for instruction
47 @ CHECK-ERRORS: error: invalid operand for instruction
48 @ CHECK-ERRORS: error: invalid operand for instruction
49 @ CHECK-ERRORS: error: immediate operand must be in the range [0,15]
50 @ CHECK-ERRORS: error: immediate operand must be in the range [0,15]
54 @ CHECK-ERRORS: error: immediate value out of range
55 @ CHECK-ERRORS: error: immediate value out of range
59 @ CHECK-ERRORS: error: instruction 'bkpt' is not predicable, but condition code specified
64 @ out of range operands for Thumb2 targets
73 @ CHECK-ERRORS: error: branch target out of range
74 @ CHECK-ERRORS: error: branch target out of range
75 @ CHECK-ERRORS: error: branch target out of range
76 @ CHECK-ERRORS: error: branch target out of range
77 @ CHECK-ERRORS: error: branch target out of range
78 @ CHECK-ERRORS: error: branch target out of range
84 @ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
86 @ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
88 @ CHECK-ERRORS: error: immediate expression for mov requires :lower16: or :upper16
93 @ CHECK-ERRORS: error: invalid operand for instruction
94 @ CHECK-ERRORS: error: invalid operand for instruction