xref: /aosp_15_r20/external/llvm/test/MC/ARM/thumbv8m.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple=thumbv8m.base -show-encoding < %s 2>%t \
2*9880d681SAndroid Build Coastguard Worker// RUN:   | FileCheck --check-prefix=CHECK-BASELINE --check-prefix=CHECK %s
3*9880d681SAndroid Build Coastguard Worker// RUN:     FileCheck --check-prefix=UNDEF-BASELINE --check-prefix=UNDEF < %t %s
4*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple=thumbv8m.main -show-encoding < %s 2>%t \
5*9880d681SAndroid Build Coastguard Worker// RUN:   | FileCheck --check-prefix=CHECK-MAINLINE --check-prefix=CHECK %s
6*9880d681SAndroid Build Coastguard Worker// RUN:     FileCheck --check-prefix=UNDEF-MAINLINE --check-prefix=UNDEF < %t %s
7*9880d681SAndroid Build Coastguard Worker// RUN: not llvm-mc -triple=thumbv8m.main -mattr=+dsp,+t2xtpk -show-encoding < %s 2>%t \
8*9880d681SAndroid Build Coastguard Worker// RUN:   | FileCheck --check-prefix=CHECK-MAINLINE_DSP --check-prefix=CHECK %s
9*9880d681SAndroid Build Coastguard Worker// RUN:     FileCheck --check-prefix=UNDEF-MAINLINE_DSP --check-prefix=UNDEF < %t %s
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker// Simple check that baseline is v6M and mainline is v7M
12*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: thumb2
13*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE-NOT: error: instruction requires:
14*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE_DSP-NOT: error: instruction requires:
15*9880d681SAndroid Build Coastguard Workermov.w r0, r0
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker// Check that .arm is invalid
18*9880d681SAndroid Build Coastguard Worker// UNDEF: target does not support ARM mode
19*9880d681SAndroid Build Coastguard Worker.arm
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker// And only +dsp,+t2xtpk has DSP and t2xtpk instructions
22*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: arm-mode
23*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: arm-mode
24*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE_DSP-NOT: error: instruction requires:
25*9880d681SAndroid Build Coastguard Workerqadd16 r0, r0, r0
26*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: arm-mode
27*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: arm-mode
28*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE_DSP-NOT: error: instruction requires:
29*9880d681SAndroid Build Coastguard Workeruxtab16 r0, r1, r2
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker// Instruction availibility checks
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker// 'Barrier instructions'
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker// CHECK: isb	sy              @ encoding: [0xbf,0xf3,0x6f,0x8f]
36*9880d681SAndroid Build Coastguard Workerisb sy
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker// 'Code optimization'
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Worker// CHECK: cbz r3, .Ltmp0      @ encoding: [0x03'A',0xb1'A']
41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                @   fixup A - offset: 0, value: .Ltmp0, kind: fixup_arm_thumb_cb
42*9880d681SAndroid Build Coastguard Workercbz r3, 1f
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker// CHECK: cbnz r3, .Ltmp0     @ encoding: [0x03'A',0xb9'A']
45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                @   fixup A - offset: 0, value: .Ltmp0, kind: fixup_arm_thumb_cb
46*9880d681SAndroid Build Coastguard Workercbnz r3, 1f
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker// CHECK: b.w .Ltmp0          @ encoding: [A,0xf0'A',A,0x90'A']
49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:                @   fixup A - offset: 0, value: .Ltmp0, kind: fixup_t2_uncondbranch
50*9880d681SAndroid Build Coastguard Workerb.w 1f
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker// CHECK: sdiv r1, r2, r3     @ encoding: [0x92,0xfb,0xf3,0xf1]
53*9880d681SAndroid Build Coastguard Workersdiv r1, r2, r3
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Worker// CHECK: udiv r1, r2, r3     @ encoding: [0xb2,0xfb,0xf3,0xf1]
56*9880d681SAndroid Build Coastguard Workerudiv r1, r2, r3
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker// 'Exclusives from ARMv7-M'
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker// CHECK: clrex               @ encoding: [0xbf,0xf3,0x2f,0x8f]
61*9880d681SAndroid Build Coastguard Workerclrex
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker// CHECK: ldrex  r1, [r2, #4]        @ encoding: [0x52,0xe8,0x01,0x1f]
64*9880d681SAndroid Build Coastguard Workerldrex r1, [r2, #4]
65*9880d681SAndroid Build Coastguard Worker
66*9880d681SAndroid Build Coastguard Worker// CHECK: ldrexb r1, [r2]            @ encoding: [0xd2,0xe8,0x4f,0x1f]
67*9880d681SAndroid Build Coastguard Workerldrexb r1, [r2]
68*9880d681SAndroid Build Coastguard Worker
69*9880d681SAndroid Build Coastguard Worker// CHECK: ldrexh r1, [r2]            @ encoding: [0xd2,0xe8,0x5f,0x1f]
70*9880d681SAndroid Build Coastguard Workerldrexh r1, [r2]
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: !armv*m thumb2
73*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: !armv*m
74*9880d681SAndroid Build Coastguard Workerldrexd r0, r1, [r2]
75*9880d681SAndroid Build Coastguard Worker
76*9880d681SAndroid Build Coastguard Worker// CHECK: strex  r1, r2, [r3, #4]    @ encoding: [0x43,0xe8,0x01,0x21]
77*9880d681SAndroid Build Coastguard Workerstrex r1, r2, [r3, #4]
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker// CHECK: strexb r1, r2, [r3]        @ encoding: [0xc3,0xe8,0x41,0x2f]
80*9880d681SAndroid Build Coastguard Workerstrexb r1, r2, [r3]
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Worker// CHECK: strexh r1, r2, [r3]        @ encoding: [0xc3,0xe8,0x51,0x2f]
83*9880d681SAndroid Build Coastguard Workerstrexh r1, r2, [r3]
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: !armv*m thumb2
86*9880d681SAndroid Build Coastguard Worker// UNDEF-MAINLINE: error: instruction requires: !armv*m
87*9880d681SAndroid Build Coastguard Workerstrexd r0, r1, r2, [r3]
88*9880d681SAndroid Build Coastguard Worker
89*9880d681SAndroid Build Coastguard Worker// 'XO generation'
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker// CHECK: movw r1, #65535            @ encoding: [0x4f,0xf6,0xff,0x71]
92*9880d681SAndroid Build Coastguard Workermovw r1, #0xffff
93*9880d681SAndroid Build Coastguard Worker
94*9880d681SAndroid Build Coastguard Worker// CHECK: movt r1, #65535            @ encoding: [0xcf,0xf6,0xff,0x71]
95*9880d681SAndroid Build Coastguard Workermovt r1, #0xffff
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Worker// 'Acquire/Release from ARMv8-A'
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker// CHECK: lda r1, [r2]                @ encoding: [0xd2,0xe8,0xaf,0x1f]
100*9880d681SAndroid Build Coastguard Workerlda r1, [r2]
101*9880d681SAndroid Build Coastguard Worker
102*9880d681SAndroid Build Coastguard Worker// CHECK: ldab  r1, [r2]                @ encoding: [0xd2,0xe8,0x8f,0x1f]
103*9880d681SAndroid Build Coastguard Workerldab r1, [r2]
104*9880d681SAndroid Build Coastguard Worker
105*9880d681SAndroid Build Coastguard Worker// CHECK: ldah  r1, [r2]                @ encoding: [0xd2,0xe8,0x9f,0x1f]
106*9880d681SAndroid Build Coastguard Workerldah r1, [r2]
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Worker// CHECK: stl r1, [r3]                @ encoding: [0xc3,0xe8,0xaf,0x1f]
109*9880d681SAndroid Build Coastguard Workerstl r1, [r3]
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Worker// CHECK: stlb  r1, [r3]                @ encoding: [0xc3,0xe8,0x8f,0x1f]
112*9880d681SAndroid Build Coastguard Workerstlb r1, [r3]
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Worker// CHECK: stlh  r1, [r3]                @ encoding: [0xc3,0xe8,0x9f,0x1f]
115*9880d681SAndroid Build Coastguard Workerstlh r1, [r3]
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Worker// CHECK: ldaex r1, [r2]                @ encoding: [0xd2,0xe8,0xef,0x1f]
118*9880d681SAndroid Build Coastguard Workerldaex r1, [r2]
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Worker// CHECK: ldaexb  r1, [r2]                @ encoding: [0xd2,0xe8,0xcf,0x1f]
121*9880d681SAndroid Build Coastguard Workerldaexb r1, [r2]
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker// CHECK: ldaexh  r1, [r2]                @ encoding: [0xd2,0xe8,0xdf,0x1f]
124*9880d681SAndroid Build Coastguard Workerldaexh r1, [r2]
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Worker// UNDEF: error: instruction requires: !armv*m
127*9880d681SAndroid Build Coastguard Workerldaexd r0, r1, [r2]
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Worker// CHECK: stlex r1, r2, [r3]            @ encoding: [0xc3,0xe8,0xe1,0x2f]
130*9880d681SAndroid Build Coastguard Workerstlex r1, r2, [r3]
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard Worker// CHECK: stlexb  r1, r2, [r3]            @ encoding: [0xc3,0xe8,0xc1,0x2f]
133*9880d681SAndroid Build Coastguard Workerstlexb r1, r2, [r3]
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Worker// CHECK: stlexh  r1, r2, [r3]            @ encoding: [0xc3,0xe8,0xd1,0x2f]
136*9880d681SAndroid Build Coastguard Workerstlexh r1, r2, [r3]
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Worker// UNDEF: error: instruction requires: !armv*m
139*9880d681SAndroid Build Coastguard Workerstlexd r0, r1, r2, [r2]
140*9880d681SAndroid Build Coastguard Worker
141*9880d681SAndroid Build Coastguard Worker// ARMv8-M Security Extensions
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker// CHECK: sg                         @ encoding: [0x7f,0xe9,0x7f,0xe9]
144*9880d681SAndroid Build Coastguard Workersg
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Worker// CHECK: bxns r0                    @ encoding: [0x04,0x47]
147*9880d681SAndroid Build Coastguard Workerbxns r0
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
150*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: conditional execution not supported in Thumb1
151*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: it eq                      @ encoding: [0x08,0xbf]
152*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: bxnseq r1                  @ encoding: [0x0c,0x47]
153*9880d681SAndroid Build Coastguard Workerit eq
154*9880d681SAndroid Build Coastguard Workerbxnseq r1
155*9880d681SAndroid Build Coastguard Worker
156*9880d681SAndroid Build Coastguard Worker// CHECK: bxns lr                    @ encoding: [0x74,0x47]
157*9880d681SAndroid Build Coastguard Workerbxns lr
158*9880d681SAndroid Build Coastguard Worker
159*9880d681SAndroid Build Coastguard Worker// CHECK: blxns r0                   @ encoding: [0x84,0x47]
160*9880d681SAndroid Build Coastguard Workerblxns r0
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
163*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: conditional execution not supported in Thumb1
164*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: it eq                      @ encoding: [0x08,0xbf]
165*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: blxnseq r1                 @ encoding: [0x8c,0x47]
166*9880d681SAndroid Build Coastguard Workerit eq
167*9880d681SAndroid Build Coastguard Workerblxnseq r1
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Worker// CHECK: tt r0, r1                  @ encoding: [0x41,0xe8,0x00,0xf0]
170*9880d681SAndroid Build Coastguard Workertt r0, r1
171*9880d681SAndroid Build Coastguard Worker
172*9880d681SAndroid Build Coastguard Worker// CHECK: tt r0, sp                  @ encoding: [0x4d,0xe8,0x00,0xf0]
173*9880d681SAndroid Build Coastguard Workertt r0, sp
174*9880d681SAndroid Build Coastguard Worker
175*9880d681SAndroid Build Coastguard Worker// CHECK: tta r0, r1                 @ encoding: [0x41,0xe8,0x80,0xf0]
176*9880d681SAndroid Build Coastguard Workertta r0, r1
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker// CHECK: ttt r0, r1                 @ encoding: [0x41,0xe8,0x40,0xf0]
179*9880d681SAndroid Build Coastguard Workerttt r0, r1
180*9880d681SAndroid Build Coastguard Worker
181*9880d681SAndroid Build Coastguard Worker// CHECK: ttat r0, r1                @ encoding: [0x41,0xe8,0xc0,0xf0]
182*9880d681SAndroid Build Coastguard Workerttat r0, r1
183*9880d681SAndroid Build Coastguard Worker
184*9880d681SAndroid Build Coastguard Worker// 'Lazy Load/Store Multiple'
185*9880d681SAndroid Build Coastguard Worker
186*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: armv8m.main
187*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: vlldm r5          @ encoding: [0x35,0xec,0x00,0x0a]
188*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE_DSP: vlldm r5      @ encoding: [0x35,0xec,0x00,0x0a]
189*9880d681SAndroid Build Coastguard Workervlldm r5
190*9880d681SAndroid Build Coastguard Worker
191*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: instruction requires: armv8m.main
192*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: vlstm r10         @ encoding: [0x2a,0xec,0x00,0x0a]
193*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE_DSP: vlstm r10     @ encoding: [0x2a,0xec,0x00,0x0a]
194*9880d681SAndroid Build Coastguard Workervlstm r10
195*9880d681SAndroid Build Coastguard Worker
196*9880d681SAndroid Build Coastguard Worker// New SYSm's
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard WorkerMRS r1, MSP_NS
199*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r1, msp_ns             @ encoding: [0xef,0xf3,0x88,0x81]
200*9880d681SAndroid Build Coastguard WorkerMSR PSP_NS, r2
201*9880d681SAndroid Build Coastguard Worker// CHECK: msr psp_ns, r2             @ encoding: [0x82,0xf3,0x89,0x88]
202*9880d681SAndroid Build Coastguard WorkerMRS r3, PRIMASK_NS
203*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r3, primask_ns         @ encoding: [0xef,0xf3,0x90,0x83]
204*9880d681SAndroid Build Coastguard WorkerMSR CONTROL_NS, r4
205*9880d681SAndroid Build Coastguard Worker// CHECK: msr control_ns, r4         @ encoding: [0x84,0xf3,0x94,0x88]
206*9880d681SAndroid Build Coastguard WorkerMRS r5, SP_NS
207*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r5, sp_ns              @ encoding: [0xef,0xf3,0x98,0x85]
208*9880d681SAndroid Build Coastguard WorkerMRS r6,MSPLIM
209*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r6, msplim             @ encoding: [0xef,0xf3,0x0a,0x86]
210*9880d681SAndroid Build Coastguard WorkerMRS r7,PSPLIM
211*9880d681SAndroid Build Coastguard Worker// CHECK: mrs r7, psplim             @ encoding: [0xef,0xf3,0x0b,0x87]
212*9880d681SAndroid Build Coastguard WorkerMSR MSPLIM,r8
213*9880d681SAndroid Build Coastguard Worker// CHECK: msr msplim, r8             @ encoding: [0x88,0xf3,0x0a,0x88]
214*9880d681SAndroid Build Coastguard WorkerMSR PSPLIM,r9
215*9880d681SAndroid Build Coastguard Worker// CHECK: msr psplim, r9             @ encoding: [0x89,0xf3,0x0b,0x88]
216*9880d681SAndroid Build Coastguard Worker
217*9880d681SAndroid Build Coastguard WorkerMRS r10, MSPLIM_NS
218*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: mrs r10, msplim_ns    @ encoding: [0xef,0xf3,0x8a,0x8a]
219*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
220*9880d681SAndroid Build Coastguard WorkerMSR PSPLIM_NS, r11
221*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: msr psplim_ns, r11    @ encoding: [0x8b,0xf3,0x8b,0x88]
222*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
223*9880d681SAndroid Build Coastguard WorkerMRS r12, BASEPRI_NS
224*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: mrs r12, basepri_ns   @ encoding: [0xef,0xf3,0x91,0x8c]
225*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
226*9880d681SAndroid Build Coastguard WorkerMRS r12, BASEPRI_MAX_NS
227*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: mrs r12, basepri_max_ns @ encoding: [0xef,0xf3,0x92,0x8c]
228*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
229*9880d681SAndroid Build Coastguard WorkerMSR FAULTMASK_NS, r14
230*9880d681SAndroid Build Coastguard Worker// CHECK-MAINLINE: msr faultmask_ns, lr  @ encoding: [0x8e,0xf3,0x93,0x88]
231*9880d681SAndroid Build Coastguard Worker// UNDEF-BASELINE: error: invalid operand for instruction
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Worker// Invalid operand tests
234*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
235*9880d681SAndroid Build Coastguard Worker// UNDEF:     sg #0
236*9880d681SAndroid Build Coastguard Workersg #0
237*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
238*9880d681SAndroid Build Coastguard Worker// UNDEF:     sg r0
239*9880d681SAndroid Build Coastguard Workersg r0
240*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
241*9880d681SAndroid Build Coastguard Worker// UNDEF:     bxns r0, r1
242*9880d681SAndroid Build Coastguard Workerbxns r0, r1
243*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
244*9880d681SAndroid Build Coastguard Worker// UNDEF:     blxns r0, #0
245*9880d681SAndroid Build Coastguard Workerblxns r0, #0
246*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
247*9880d681SAndroid Build Coastguard Worker// UNDEF:     blxns label
248*9880d681SAndroid Build Coastguard Workerblxns label
249*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
250*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt r0, r1, r2
251*9880d681SAndroid Build Coastguard Workertt r0, r1, r2
252*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
253*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt r0, [r1]
254*9880d681SAndroid Build Coastguard Workertt r0, [r1]
255*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
256*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt r0, r1, #4
257*9880d681SAndroid Build Coastguard Workertt r0, r1, #4
258*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
259*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt r0, #4
260*9880d681SAndroid Build Coastguard Workertt r0, #4
261*9880d681SAndroid Build Coastguard Worker
262*9880d681SAndroid Build Coastguard Worker// Unpredictable operands
263*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
264*9880d681SAndroid Build Coastguard Worker// UNDEF:     blxns pc
265*9880d681SAndroid Build Coastguard Workerblxns pc
266*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
267*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt sp, r0
268*9880d681SAndroid Build Coastguard Workertt sp, r0
269*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
270*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt pc, r0
271*9880d681SAndroid Build Coastguard Workertt pc, r0
272*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
273*9880d681SAndroid Build Coastguard Worker// UNDEF:     tt r0, pc
274*9880d681SAndroid Build Coastguard Workertt r0, pc
275*9880d681SAndroid Build Coastguard Worker
276*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
277*9880d681SAndroid Build Coastguard Worker// UNDEF:     vlldm pc
278*9880d681SAndroid Build Coastguard Workervlldm pc
279*9880d681SAndroid Build Coastguard Worker
280*9880d681SAndroid Build Coastguard Worker// UNDEF: error: invalid operand for instruction
281*9880d681SAndroid Build Coastguard Worker// UNDEF:     vlstm pc
282*9880d681SAndroid Build Coastguard Workervlstm pc
283