xref: /aosp_15_r20/external/llvm/test/MC/Disassembler/ARM/thumb1.txt (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=thumbv6-apple-darwin -disassemble -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
4*9880d681SAndroid Build Coastguard Worker# ADC (register)
5*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
6*9880d681SAndroid Build Coastguard Worker# CHECK: adcs r4, r6
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker0x74 0x41
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
12*9880d681SAndroid Build Coastguard Worker# ADD (immediate)
13*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
14*9880d681SAndroid Build Coastguard Worker# CHECK: adds r1, r2, #3
15*9880d681SAndroid Build Coastguard Worker# CHECK: adds r2, r2, #3
16*9880d681SAndroid Build Coastguard Worker# CHECK: adds r2, #8
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker0xd1 0x1c
19*9880d681SAndroid Build Coastguard Worker0xd2 0x1c
20*9880d681SAndroid Build Coastguard Worker0x08 0x32
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
23*9880d681SAndroid Build Coastguard Worker# ADD (register)
24*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
25*9880d681SAndroid Build Coastguard Worker# CHECK: adds r1, r2, r3
26*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, r8
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker0xd1 0x18
29*9880d681SAndroid Build Coastguard Worker0x42 0x44
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
32*9880d681SAndroid Build Coastguard Worker# ADD (SP plus immediate)
33*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
34*9880d681SAndroid Build Coastguard Worker# CHECK: add sp, #508
35*9880d681SAndroid Build Coastguard Worker# CHECK: add sp, #4
36*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, sp, #8
37*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, sp, #1020
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker0x7f 0xb0
40*9880d681SAndroid Build Coastguard Worker0x01 0xb0
41*9880d681SAndroid Build Coastguard Worker0x02 0xaa
42*9880d681SAndroid Build Coastguard Worker0xff 0xaa
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
46*9880d681SAndroid Build Coastguard Worker# ADD (SP plus register)
47*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
48*9880d681SAndroid Build Coastguard Worker# CHECK: add sp, r3
49*9880d681SAndroid Build Coastguard Worker# CHECK: add r2, sp, r2
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Worker0x9d 0x44
52*9880d681SAndroid Build Coastguard Worker0x6a 0x44
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
55*9880d681SAndroid Build Coastguard Worker# ADR
56*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
57*9880d681SAndroid Build Coastguard Worker# CHECK: adr    r5, #0
58*9880d681SAndroid Build Coastguard Worker# CHECK: adr    r2, #12
59*9880d681SAndroid Build Coastguard Worker# CHECK: adr    r3, #1020
60*9880d681SAndroid Build Coastguard Worker0x00 0xa5
61*9880d681SAndroid Build Coastguard Worker0x03 0xa2
62*9880d681SAndroid Build Coastguard Worker0xff 0xa3
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
65*9880d681SAndroid Build Coastguard Worker# ASR (immediate)
66*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
67*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r2, r3, #32
68*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r2, r3, #5
69*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r2, r3, #1
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Worker0x1a 0x10
72*9880d681SAndroid Build Coastguard Worker0x5a 0x11
73*9880d681SAndroid Build Coastguard Worker0x5a 0x10
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
76*9880d681SAndroid Build Coastguard Worker# ASR (register)
77*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
78*9880d681SAndroid Build Coastguard Worker# CHECK: asrs r5, r2
79*9880d681SAndroid Build Coastguard Worker
80*9880d681SAndroid Build Coastguard Worker0x15 0x41
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
83*9880d681SAndroid Build Coastguard Worker# BICS
84*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
85*9880d681SAndroid Build Coastguard Worker# CHECK: bics r1, r6
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Worker0xb1 0x43
88*9880d681SAndroid Build Coastguard Worker
89*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
90*9880d681SAndroid Build Coastguard Worker# B
91*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
92*9880d681SAndroid Build Coastguard Worker# CHECK: bls     #128                    @ encoding: [0x40,0xd9]
93*9880d681SAndroid Build Coastguard Worker# CHECK: beq     #-256                   @ encoding: [0x80,0xd0]
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker0x40 0xd9
96*9880d681SAndroid Build Coastguard Worker0x80 0xd0
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
99*9880d681SAndroid Build Coastguard Worker# BKPT
100*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
101*9880d681SAndroid Build Coastguard Worker# CHECK: bkpt #0
102*9880d681SAndroid Build Coastguard Worker# CHECK: bkpt #255
103*9880d681SAndroid Build Coastguard Worker
104*9880d681SAndroid Build Coastguard Worker0x00 0xbe
105*9880d681SAndroid Build Coastguard Worker0xff 0xbe
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
108*9880d681SAndroid Build Coastguard Worker# BLX (register)
109*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
110*9880d681SAndroid Build Coastguard Worker# CHECK: blx r4
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Worker0xa0 0x47
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
115*9880d681SAndroid Build Coastguard Worker# BX
116*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
117*9880d681SAndroid Build Coastguard Worker# CHECK: bx r2
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker0x10 0x47
120*9880d681SAndroid Build Coastguard Worker
121*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
122*9880d681SAndroid Build Coastguard Worker# CMN
123*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
124*9880d681SAndroid Build Coastguard Worker# CHECK: cmn r5, r1
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Worker0xcd 0x42
127*9880d681SAndroid Build Coastguard Worker
128*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
129*9880d681SAndroid Build Coastguard Worker# CMP
130*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
131*9880d681SAndroid Build Coastguard Worker# CHECK: cmp r6, #32
132*9880d681SAndroid Build Coastguard Worker# CHECK: cmp r3, r4
133*9880d681SAndroid Build Coastguard Worker# CHECK: cmp r8, r1
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Worker0x20 0x2e
136*9880d681SAndroid Build Coastguard Worker0xa3 0x42
137*9880d681SAndroid Build Coastguard Worker0x88 0x45
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
140*9880d681SAndroid Build Coastguard Worker# EOR
141*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
142*9880d681SAndroid Build Coastguard Worker# CHECK: eors r4, r5
143*9880d681SAndroid Build Coastguard Worker
144*9880d681SAndroid Build Coastguard Worker0x6c 0x40
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
147*9880d681SAndroid Build Coastguard Worker# LDM
148*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
149*9880d681SAndroid Build Coastguard Worker# CHECK: ldm r3, {r0, r1, r2, r3, r4, r5, r6, r7}
150*9880d681SAndroid Build Coastguard Worker# CHECK: ldm r2!, {r1, r3, r4, r5, r7}
151*9880d681SAndroid Build Coastguard Worker# CHECK: ldm r1, {r1}
152*9880d681SAndroid Build Coastguard Worker
153*9880d681SAndroid Build Coastguard Worker0xff 0xcb
154*9880d681SAndroid Build Coastguard Worker0xba 0xca
155*9880d681SAndroid Build Coastguard Worker0x02 0xc9
156*9880d681SAndroid Build Coastguard Worker
157*9880d681SAndroid Build Coastguard Worker
158*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
159*9880d681SAndroid Build Coastguard Worker# LDR (immediate)
160*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
161*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [r5]
162*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r2, [r6, #32]
163*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r3, [r7, #124]
164*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [sp]
165*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r2, [sp, #24]
166*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r3, [sp, #1020]
167*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [pc, #12]
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Worker0x29 0x68
171*9880d681SAndroid Build Coastguard Worker0x32 0x6a
172*9880d681SAndroid Build Coastguard Worker0xfb 0x6f
173*9880d681SAndroid Build Coastguard Worker0x00 0x99
174*9880d681SAndroid Build Coastguard Worker0x06 0x9a
175*9880d681SAndroid Build Coastguard Worker0xff 0x9b
176*9880d681SAndroid Build Coastguard Worker0x03 0x49
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
179*9880d681SAndroid Build Coastguard Worker# LDR (register)
180*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
181*9880d681SAndroid Build Coastguard Worker# CHECK: ldr r1, [r2, r3]
182*9880d681SAndroid Build Coastguard Worker
183*9880d681SAndroid Build Coastguard Worker0xd1 0x58
184*9880d681SAndroid Build Coastguard Worker
185*9880d681SAndroid Build Coastguard Worker
186*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
187*9880d681SAndroid Build Coastguard Worker# LDRB (immediate)
188*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
189*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r4, [r3]
190*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r5, [r6]
191*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r6, [r7, #31]
192*9880d681SAndroid Build Coastguard Worker
193*9880d681SAndroid Build Coastguard Worker0x1c 0x78
194*9880d681SAndroid Build Coastguard Worker0x35 0x78
195*9880d681SAndroid Build Coastguard Worker0xfe 0x7f
196*9880d681SAndroid Build Coastguard Worker
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
199*9880d681SAndroid Build Coastguard Worker# LDRB (register)
200*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
201*9880d681SAndroid Build Coastguard Worker# CHECK: ldrb r6, [r4, r5]
202*9880d681SAndroid Build Coastguard Worker
203*9880d681SAndroid Build Coastguard Worker0x66 0x5d
204*9880d681SAndroid Build Coastguard Worker
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
207*9880d681SAndroid Build Coastguard Worker# LDRH (immediate)
208*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
209*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r3, [r3]
210*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r4, [r6, #2]
211*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r5, [r7, #62]
212*9880d681SAndroid Build Coastguard Worker
213*9880d681SAndroid Build Coastguard Worker0x1b 0x88
214*9880d681SAndroid Build Coastguard Worker0x74 0x88
215*9880d681SAndroid Build Coastguard Worker0xfd 0x8f
216*9880d681SAndroid Build Coastguard Worker
217*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
218*9880d681SAndroid Build Coastguard Worker# LDRH (register)
219*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
220*9880d681SAndroid Build Coastguard Worker# CHECK: ldrh r6, [r2, r6]
221*9880d681SAndroid Build Coastguard Worker
222*9880d681SAndroid Build Coastguard Worker0x96 0x5b
223*9880d681SAndroid Build Coastguard Worker
224*9880d681SAndroid Build Coastguard Worker
225*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
226*9880d681SAndroid Build Coastguard Worker# LDRSB/LDRSH
227*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
228*9880d681SAndroid Build Coastguard Worker# CHECK: ldrsb r6, [r2, r6]
229*9880d681SAndroid Build Coastguard Worker# CHECK: ldrsh r3, [r7, r1]
230*9880d681SAndroid Build Coastguard Worker
231*9880d681SAndroid Build Coastguard Worker0x96 0x57
232*9880d681SAndroid Build Coastguard Worker0x7b 0x5e
233*9880d681SAndroid Build Coastguard Worker
234*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
235*9880d681SAndroid Build Coastguard Worker# LSL (immediate)
236*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
237*9880d681SAndroid Build Coastguard Worker# CHECK: movs r4, r5
238*9880d681SAndroid Build Coastguard Worker# CHECK: lsls r4, r5, #4
239*9880d681SAndroid Build Coastguard Worker
240*9880d681SAndroid Build Coastguard Worker0x2c 0x00
241*9880d681SAndroid Build Coastguard Worker0x2c 0x01
242*9880d681SAndroid Build Coastguard Worker
243*9880d681SAndroid Build Coastguard Worker
244*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
245*9880d681SAndroid Build Coastguard Worker# LSL (register)
246*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
247*9880d681SAndroid Build Coastguard Worker# CHECK: lsls r2, r6
248*9880d681SAndroid Build Coastguard Worker
249*9880d681SAndroid Build Coastguard Worker0xb2 0x40
250*9880d681SAndroid Build Coastguard Worker
251*9880d681SAndroid Build Coastguard Worker
252*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
253*9880d681SAndroid Build Coastguard Worker# LSR (immediate)
254*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
255*9880d681SAndroid Build Coastguard Worker# CHECK: lsrs r1, r3, #1
256*9880d681SAndroid Build Coastguard Worker# CHECK: lsrs r1, r3, #32
257*9880d681SAndroid Build Coastguard Worker
258*9880d681SAndroid Build Coastguard Worker0x59 0x08
259*9880d681SAndroid Build Coastguard Worker0x19 0x08
260*9880d681SAndroid Build Coastguard Worker
261*9880d681SAndroid Build Coastguard Worker
262*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
263*9880d681SAndroid Build Coastguard Worker# LSR (register)
264*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
265*9880d681SAndroid Build Coastguard Worker# CHECK: lsrs r2, r6
266*9880d681SAndroid Build Coastguard Worker
267*9880d681SAndroid Build Coastguard Worker0xf2 0x40
268*9880d681SAndroid Build Coastguard Worker
269*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
270*9880d681SAndroid Build Coastguard Worker# MOV (immediate)
271*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
272*9880d681SAndroid Build Coastguard Worker# CHECK: movs r2, #0
273*9880d681SAndroid Build Coastguard Worker# CHECK: movs r2, #255
274*9880d681SAndroid Build Coastguard Worker# CHECK: movs r2, #23
275*9880d681SAndroid Build Coastguard Worker
276*9880d681SAndroid Build Coastguard Worker0x00 0x22
277*9880d681SAndroid Build Coastguard Worker0xff 0x22
278*9880d681SAndroid Build Coastguard Worker0x17 0x22
279*9880d681SAndroid Build Coastguard Worker
280*9880d681SAndroid Build Coastguard Worker
281*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
282*9880d681SAndroid Build Coastguard Worker# MOV (register)
283*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
284*9880d681SAndroid Build Coastguard Worker# CHECK: mov r3, r4
285*9880d681SAndroid Build Coastguard Worker# CHECK: movs r1, r3
286*9880d681SAndroid Build Coastguard Worker# CHECK: mov r8, r8
287*9880d681SAndroid Build Coastguard Worker
288*9880d681SAndroid Build Coastguard Worker0x23 0x46
289*9880d681SAndroid Build Coastguard Worker0x19 0x00
290*9880d681SAndroid Build Coastguard Worker0xc0 0x46
291*9880d681SAndroid Build Coastguard Worker
292*9880d681SAndroid Build Coastguard Worker
293*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
294*9880d681SAndroid Build Coastguard Worker# MUL
295*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
296*9880d681SAndroid Build Coastguard Worker# CHECK: muls r1, r2, r1
297*9880d681SAndroid Build Coastguard Worker# CHECK: muls r3, r4
298*9880d681SAndroid Build Coastguard Worker
299*9880d681SAndroid Build Coastguard Worker0x51 0x43
300*9880d681SAndroid Build Coastguard Worker0x63 0x43
301*9880d681SAndroid Build Coastguard Worker
302*9880d681SAndroid Build Coastguard Worker
303*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
304*9880d681SAndroid Build Coastguard Worker# MVN
305*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
306*9880d681SAndroid Build Coastguard Worker# CHECK: mvns r6, r3
307*9880d681SAndroid Build Coastguard Worker
308*9880d681SAndroid Build Coastguard Worker0xde 0x43
309*9880d681SAndroid Build Coastguard Worker
310*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
311*9880d681SAndroid Build Coastguard Worker# NEG
312*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
313*9880d681SAndroid Build Coastguard Worker# CHECK: rsbs r3, r4, #0
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Worker0x63 0x42
316*9880d681SAndroid Build Coastguard Worker
317*9880d681SAndroid Build Coastguard Worker
318*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
319*9880d681SAndroid Build Coastguard Worker# ORR
320*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
321*9880d681SAndroid Build Coastguard Worker# CHECK: orrs  r3, r4
322*9880d681SAndroid Build Coastguard Worker
323*9880d681SAndroid Build Coastguard Worker0x23 0x43
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
326*9880d681SAndroid Build Coastguard Worker# POP
327*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
328*9880d681SAndroid Build Coastguard Worker# CHECK: pop {r2, r3, r6}
329*9880d681SAndroid Build Coastguard Worker
330*9880d681SAndroid Build Coastguard Worker0x4c 0xbc
331*9880d681SAndroid Build Coastguard Worker
332*9880d681SAndroid Build Coastguard Worker
333*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
334*9880d681SAndroid Build Coastguard Worker# PUSH
335*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
336*9880d681SAndroid Build Coastguard Worker# CHECK: push {r1, r2, r7}
337*9880d681SAndroid Build Coastguard Worker
338*9880d681SAndroid Build Coastguard Worker0x86 0xb4
339*9880d681SAndroid Build Coastguard Worker
340*9880d681SAndroid Build Coastguard Worker
341*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
342*9880d681SAndroid Build Coastguard Worker# REV/REV16/REVSH
343*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
344*9880d681SAndroid Build Coastguard Worker# CHECK: rev r6, r3
345*9880d681SAndroid Build Coastguard Worker# CHECK: rev16 r7, r2
346*9880d681SAndroid Build Coastguard Worker# CHECK: revsh r5, r1
347*9880d681SAndroid Build Coastguard Worker
348*9880d681SAndroid Build Coastguard Worker0x1e 0xba
349*9880d681SAndroid Build Coastguard Worker0x57 0xba
350*9880d681SAndroid Build Coastguard Worker0xcd 0xba
351*9880d681SAndroid Build Coastguard Worker
352*9880d681SAndroid Build Coastguard Worker
353*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
354*9880d681SAndroid Build Coastguard Worker# ROR
355*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
356*9880d681SAndroid Build Coastguard Worker# CHECK: rors r2, r7
357*9880d681SAndroid Build Coastguard Worker
358*9880d681SAndroid Build Coastguard Worker0xfa 0x41
359*9880d681SAndroid Build Coastguard Worker
360*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
361*9880d681SAndroid Build Coastguard Worker# RSB
362*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
363*9880d681SAndroid Build Coastguard Worker# CHECK: rsbs r1, r3, #0
364*9880d681SAndroid Build Coastguard Worker
365*9880d681SAndroid Build Coastguard Worker0x59 0x42
366*9880d681SAndroid Build Coastguard Worker
367*9880d681SAndroid Build Coastguard Worker
368*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
369*9880d681SAndroid Build Coastguard Worker# SBC
370*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
371*9880d681SAndroid Build Coastguard Worker# CHECK: sbcs r4, r3
372*9880d681SAndroid Build Coastguard Worker
373*9880d681SAndroid Build Coastguard Worker0x9c 0x41
374*9880d681SAndroid Build Coastguard Worker
375*9880d681SAndroid Build Coastguard Worker
376*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
377*9880d681SAndroid Build Coastguard Worker# SETEND
378*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
379*9880d681SAndroid Build Coastguard Worker# CHECK: setend be
380*9880d681SAndroid Build Coastguard Worker# CHECK: setend le
381*9880d681SAndroid Build Coastguard Worker
382*9880d681SAndroid Build Coastguard Worker0x58 0xb6
383*9880d681SAndroid Build Coastguard Worker0x50 0xb6
384*9880d681SAndroid Build Coastguard Worker
385*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
386*9880d681SAndroid Build Coastguard Worker# STM
387*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
388*9880d681SAndroid Build Coastguard Worker# CHECK: stm r1!, {r2, r6}
389*9880d681SAndroid Build Coastguard Worker# CHECK: stm r1!, {r1, r2, r3, r7}
390*9880d681SAndroid Build Coastguard Worker
391*9880d681SAndroid Build Coastguard Worker0x44 0xc1
392*9880d681SAndroid Build Coastguard Worker0x8e 0xc1
393*9880d681SAndroid Build Coastguard Worker
394*9880d681SAndroid Build Coastguard Worker
395*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
396*9880d681SAndroid Build Coastguard Worker# STR (immediate)
397*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
398*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [r7]
399*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [r7]
400*9880d681SAndroid Build Coastguard Worker# CHECK: str r5, [r1, #4]
401*9880d681SAndroid Build Coastguard Worker# CHECK: str r3, [r7, #124]
402*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [sp]
403*9880d681SAndroid Build Coastguard Worker# CHECK: str r3, [sp]
404*9880d681SAndroid Build Coastguard Worker# CHECK: str r4, [sp, #20]
405*9880d681SAndroid Build Coastguard Worker# CHECK: str r5, [sp, #1020]
406*9880d681SAndroid Build Coastguard Worker
407*9880d681SAndroid Build Coastguard Worker0x3a 0x60
408*9880d681SAndroid Build Coastguard Worker0x3a 0x60
409*9880d681SAndroid Build Coastguard Worker0x4d 0x60
410*9880d681SAndroid Build Coastguard Worker0xfb 0x67
411*9880d681SAndroid Build Coastguard Worker0x00 0x92
412*9880d681SAndroid Build Coastguard Worker0x00 0x93
413*9880d681SAndroid Build Coastguard Worker0x05 0x94
414*9880d681SAndroid Build Coastguard Worker0xff 0x95
415*9880d681SAndroid Build Coastguard Worker
416*9880d681SAndroid Build Coastguard Worker
417*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
418*9880d681SAndroid Build Coastguard Worker# STR (register)
419*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
420*9880d681SAndroid Build Coastguard Worker# CHECK: str r2, [r7, r3]
421*9880d681SAndroid Build Coastguard Worker
422*9880d681SAndroid Build Coastguard Worker0xfa 0x50
423*9880d681SAndroid Build Coastguard Worker
424*9880d681SAndroid Build Coastguard Worker
425*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
426*9880d681SAndroid Build Coastguard Worker# STRB (immediate)
427*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
428*9880d681SAndroid Build Coastguard Worker# CHECK: strb r4, [r3]
429*9880d681SAndroid Build Coastguard Worker# CHECK: strb r5, [r6]
430*9880d681SAndroid Build Coastguard Worker# CHECK: strb r6, [r7, #31]
431*9880d681SAndroid Build Coastguard Worker
432*9880d681SAndroid Build Coastguard Worker0x1c 0x70
433*9880d681SAndroid Build Coastguard Worker0x35 0x70
434*9880d681SAndroid Build Coastguard Worker0xfe 0x77
435*9880d681SAndroid Build Coastguard Worker
436*9880d681SAndroid Build Coastguard Worker
437*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
438*9880d681SAndroid Build Coastguard Worker# STRB (register)
439*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
440*9880d681SAndroid Build Coastguard Worker# CHECK: strb r6, [r4, r5]
441*9880d681SAndroid Build Coastguard Worker
442*9880d681SAndroid Build Coastguard Worker0x66 0x55
443*9880d681SAndroid Build Coastguard Worker
444*9880d681SAndroid Build Coastguard Worker
445*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
446*9880d681SAndroid Build Coastguard Worker# STRH (immediate)
447*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
448*9880d681SAndroid Build Coastguard Worker# CHECK: strh r3, [r3]
449*9880d681SAndroid Build Coastguard Worker# CHECK: strh r4, [r6, #2]
450*9880d681SAndroid Build Coastguard Worker# CHECK: strh r5, [r7, #62]
451*9880d681SAndroid Build Coastguard Worker
452*9880d681SAndroid Build Coastguard Worker0x1b 0x80
453*9880d681SAndroid Build Coastguard Worker0x74 0x80
454*9880d681SAndroid Build Coastguard Worker0xfd 0x87
455*9880d681SAndroid Build Coastguard Worker
456*9880d681SAndroid Build Coastguard Worker
457*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
458*9880d681SAndroid Build Coastguard Worker# STRH (register)
459*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
460*9880d681SAndroid Build Coastguard Worker# CHECK: strh r6, [r2, r6]
461*9880d681SAndroid Build Coastguard Worker
462*9880d681SAndroid Build Coastguard Worker0x96 0x53
463*9880d681SAndroid Build Coastguard Worker
464*9880d681SAndroid Build Coastguard Worker
465*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
466*9880d681SAndroid Build Coastguard Worker# SUB (immediate)
467*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
468*9880d681SAndroid Build Coastguard Worker# CHECK: subs r1, r2, #3
469*9880d681SAndroid Build Coastguard Worker# CHECK: subs r2, #3
470*9880d681SAndroid Build Coastguard Worker# CHECK: subs r2, #8
471*9880d681SAndroid Build Coastguard Worker
472*9880d681SAndroid Build Coastguard Worker0xd1 0x1e
473*9880d681SAndroid Build Coastguard Worker0x03 0x3a
474*9880d681SAndroid Build Coastguard Worker0x08 0x3a
475*9880d681SAndroid Build Coastguard Worker
476*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
477*9880d681SAndroid Build Coastguard Worker# SUB (register)
478*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
479*9880d681SAndroid Build Coastguard Worker# CHECK: subs r1, r2, r3
480*9880d681SAndroid Build Coastguard Worker
481*9880d681SAndroid Build Coastguard Worker0xd1 0x1a
482*9880d681SAndroid Build Coastguard Worker
483*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
484*9880d681SAndroid Build Coastguard Worker# SUB (SP minus immediate)
485*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
486*9880d681SAndroid Build Coastguard Worker# CHECK: sub sp, #12
487*9880d681SAndroid Build Coastguard Worker# CHECK: sub sp, #508
488*9880d681SAndroid Build Coastguard Worker
489*9880d681SAndroid Build Coastguard Worker0x83 0xb0
490*9880d681SAndroid Build Coastguard Worker0xff 0xb0
491*9880d681SAndroid Build Coastguard Worker
492*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
493*9880d681SAndroid Build Coastguard Worker# SVC
494*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
495*9880d681SAndroid Build Coastguard Worker# CHECK: svc #0
496*9880d681SAndroid Build Coastguard Worker# CHECK: svc #255
497*9880d681SAndroid Build Coastguard Worker
498*9880d681SAndroid Build Coastguard Worker0x00 0xdf
499*9880d681SAndroid Build Coastguard Worker0xff 0xdf
500*9880d681SAndroid Build Coastguard Worker
501*9880d681SAndroid Build Coastguard Worker
502*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
503*9880d681SAndroid Build Coastguard Worker# SXTB/SXTH
504*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
505*9880d681SAndroid Build Coastguard Worker# CHECK: sxtb r3, r5
506*9880d681SAndroid Build Coastguard Worker# CHECK: sxth r3, r5
507*9880d681SAndroid Build Coastguard Worker
508*9880d681SAndroid Build Coastguard Worker0x6b 0xb2
509*9880d681SAndroid Build Coastguard Worker0x2b 0xb2
510*9880d681SAndroid Build Coastguard Worker
511*9880d681SAndroid Build Coastguard Worker
512*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
513*9880d681SAndroid Build Coastguard Worker# TST
514*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
515*9880d681SAndroid Build Coastguard Worker# CHECK: tst r6, r1
516*9880d681SAndroid Build Coastguard Worker
517*9880d681SAndroid Build Coastguard Worker0x0e 0x42
518*9880d681SAndroid Build Coastguard Worker
519*9880d681SAndroid Build Coastguard Worker
520*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
521*9880d681SAndroid Build Coastguard Worker# UXTB/UXTH
522*9880d681SAndroid Build Coastguard Worker#------------------------------------------------------------------------------
523*9880d681SAndroid Build Coastguard Worker# CHECK: uxtb  r7, r2
524*9880d681SAndroid Build Coastguard Worker# CHECK: uxth  r1, r4
525*9880d681SAndroid Build Coastguard Worker
526*9880d681SAndroid Build Coastguard Worker0xd7 0xb2
527*9880d681SAndroid Build Coastguard Worker0xa1 0xb2
528