xref: /aosp_15_r20/external/llvm/test/MC/ARM/arm-memory-instructions.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=armv7-apple-darwin -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker  .syntax unified
3*9880d681SAndroid Build Coastguard Worker  .globl _func
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker@ Check that the assembler can handle the documented syntax from the ARM ARM
6*9880d681SAndroid Build Coastguard Worker@ for loads and stores.
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker_func:
9*9880d681SAndroid Build Coastguard Worker@ CHECK: _func
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
12*9880d681SAndroid Build Coastguard Worker@ LDR (immediate)
13*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
14*9880d681SAndroid Build Coastguard Worker        ldr r5, [r7]
15*9880d681SAndroid Build Coastguard Worker        ldr r6, [r3, #63]
16*9880d681SAndroid Build Coastguard Worker        ldr r2, [r4, #4095]!
17*9880d681SAndroid Build Coastguard Worker        ldr r1, [r2], #30
18*9880d681SAndroid Build Coastguard Worker        ldr r3, [r1], #-30
19*9880d681SAndroid Build Coastguard Worker        ldr r9, [r2], #-0
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r5, [r7]                @ encoding: [0x00,0x50,0x97,0xe5]
22*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r6, [r3, #63]           @ encoding: [0x3f,0x60,0x93,0xe5]
23*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r2, [r4, #4095]!        @ encoding: [0xff,0x2f,0xb4,0xe5]
24*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r1, [r2], #30           @ encoding: [0x1e,0x10,0x92,0xe4]
25*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r3, [r1], #-30          @ encoding: [0x1e,0x30,0x11,0xe4]
26*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r9, [r2], #-0           @ encoding: [0x00,0x90,0x12,0xe4]
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
29*9880d681SAndroid Build Coastguard Worker@ FIXME: LDR (literal)
30*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
31*9880d681SAndroid Build Coastguard Worker@ label operands currently assert the show-encoding asm comment helper due
32*9880d681SAndroid Build Coastguard Worker@ to the use of non-contiguous bit ranges for fixups in ARM. Once that's
33*9880d681SAndroid Build Coastguard Worker@ cleaned up, we can write useful assembly testcases for these sorts of
34*9880d681SAndroid Build Coastguard Worker@ instructions.
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
37*9880d681SAndroid Build Coastguard Worker@ LDR (register)
38*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
39*9880d681SAndroid Build Coastguard Worker        ldr r3, [r8, r1]
40*9880d681SAndroid Build Coastguard Worker        ldr r2, [r5, -r3]
41*9880d681SAndroid Build Coastguard Worker        ldr r1, [r5, r9]!
42*9880d681SAndroid Build Coastguard Worker        ldr r6, [r7, -r8]!
43*9880d681SAndroid Build Coastguard Worker        ldr r1, [r0, r2, lsr #3]!
44*9880d681SAndroid Build Coastguard Worker        ldr r5, [r9], r2
45*9880d681SAndroid Build Coastguard Worker        ldr r4, [r3], -r6
46*9880d681SAndroid Build Coastguard Worker        ldr r3, [r8, -r2, lsl #15]
47*9880d681SAndroid Build Coastguard Worker        ldr r1, [r5], r3, asr #15
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r3, [r8, r1]            @ encoding: [0x01,0x30,0x98,0xe7]
50*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r2, [r5, -r3]           @ encoding: [0x03,0x20,0x15,0xe7]
51*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r1, [r5, r9]!           @ encoding: [0x09,0x10,0xb5,0xe7]
52*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r6, [r7, -r8]!          @ encoding: [0x08,0x60,0x37,0xe7]
53*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r1, [r0, r2, lsr #3]!   @ encoding: [0xa2,0x11,0xb0,0xe7]
54*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r5, [r9], r2            @ encoding: [0x02,0x50,0x99,0xe6]
55*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r4, [r3], -r6           @ encoding: [0x06,0x40,0x13,0xe6]
56*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r3, [r8, -r2, lsl #15]  @ encoding: [0x82,0x37,0x18,0xe7]
57*9880d681SAndroid Build Coastguard Worker@ CHECK: ldr	r1, [r5], r3, asr #15   @ encoding: [0xc3,0x17,0x95,0xe6]
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
61*9880d681SAndroid Build Coastguard Worker@ LDRB (immediate)
62*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
63*9880d681SAndroid Build Coastguard Worker        ldrb r3, [r8]
64*9880d681SAndroid Build Coastguard Worker        ldrb r1, [sp, #63]
65*9880d681SAndroid Build Coastguard Worker        ldrb r9, [r3, #4095]!
66*9880d681SAndroid Build Coastguard Worker        ldrb r8, [r1], #22
67*9880d681SAndroid Build Coastguard Worker        ldrb r2, [r7], #-19
68*9880d681SAndroid Build Coastguard Worker
69*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r3, [r8]                @ encoding: [0x00,0x30,0xd8,0xe5]
70*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r1, [sp, #63]           @ encoding: [0x3f,0x10,0xdd,0xe5]
71*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r9, [r3, #4095]!        @ encoding: [0xff,0x9f,0xf3,0xe5]
72*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r8, [r1], #22           @ encoding: [0x16,0x80,0xd1,0xe4]
73*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r2, [r7], #-19          @ encoding: [0x13,0x20,0x57,0xe4]
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker
76*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
77*9880d681SAndroid Build Coastguard Worker@ LDRB (register)
78*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
79*9880d681SAndroid Build Coastguard Worker        ldrb r9, [r8, r5]
80*9880d681SAndroid Build Coastguard Worker        ldrb r1, [r5, -r1]
81*9880d681SAndroid Build Coastguard Worker        ldrb r3, [r5, r2]!
82*9880d681SAndroid Build Coastguard Worker        ldrb r6, [r9, -r3]!
83*9880d681SAndroid Build Coastguard Worker        ldrb r2, [r1], r4
84*9880d681SAndroid Build Coastguard Worker        ldrb r8, [r4], -r5
85*9880d681SAndroid Build Coastguard Worker        ldrb r7, [r12, -r1, lsl #15]
86*9880d681SAndroid Build Coastguard Worker        ldrb r5, [r2], r9, asr #15
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r9, [r8, r5]            @ encoding: [0x05,0x90,0xd8,0xe7]
89*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r1, [r5, -r1]           @ encoding: [0x01,0x10,0x55,0xe7]
90*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r3, [r5, r2]!           @ encoding: [0x02,0x30,0xf5,0xe7]
91*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r6, [r9, -r3]!          @ encoding: [0x03,0x60,0x79,0xe7]
92*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r2, [r1], r4            @ encoding: [0x04,0x20,0xd1,0xe6]
93*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r8, [r4], -r5           @ encoding: [0x05,0x80,0x54,0xe6]
94*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r7, [r12, -r1, lsl #15] @ encoding: [0x81,0x77,0x5c,0xe7]
95*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrb	r5, [r2], r9, asr #15   @ encoding: [0xc9,0x57,0xd2,0xe6]
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
99*9880d681SAndroid Build Coastguard Worker@ LDRBT
100*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
101*9880d681SAndroid Build Coastguard Worker@ FIXME: Optional offset operand.
102*9880d681SAndroid Build Coastguard Worker        ldrbt r3, [r1], #4
103*9880d681SAndroid Build Coastguard Worker        ldrbt r2, [r8], #-8
104*9880d681SAndroid Build Coastguard Worker        ldrbt r8, [r7], r6
105*9880d681SAndroid Build Coastguard Worker        ldrbt r1, [r2], -r6, lsl #12
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt	r3, [r1], #4            @ encoding: [0x04,0x30,0xf1,0xe4]
109*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt	r2, [r8], #-8           @ encoding: [0x08,0x20,0x78,0xe4]
110*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt	r8, [r7], r6            @ encoding: [0x06,0x80,0xf7,0xe6]
111*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrbt	r1, [r2], -r6, lsl #12  @ encoding: [0x06,0x16,0x72,0xe6]
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
115*9880d681SAndroid Build Coastguard Worker@ LDRD (immediate)
116*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
117*9880d681SAndroid Build Coastguard Worker        ldrd r2, r3, [r5]
118*9880d681SAndroid Build Coastguard Worker        ldrd r6, r7, [r2, #15]
119*9880d681SAndroid Build Coastguard Worker        ldrd r0, r1, [r9, #32]!
120*9880d681SAndroid Build Coastguard Worker        ldrd r6, r7, [r1], #8
121*9880d681SAndroid Build Coastguard Worker        ldrd r0, r1, [r8], #0
122*9880d681SAndroid Build Coastguard Worker        ldrd r0, r1, [r8], #+0
123*9880d681SAndroid Build Coastguard Worker        ldrd r0, r1, [r8], #-0
124*9880d681SAndroid Build Coastguard Worker
125*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r2, r3, [r5]            @ encoding: [0xd0,0x20,0xc5,0xe1]
126*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r6, r7, [r2, #15]       @ encoding: [0xdf,0x60,0xc2,0xe1]
127*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r9, #32]!      @ encoding: [0xd0,0x02,0xe9,0xe1]
128*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r6, r7, [r1], #8        @ encoding: [0xd8,0x60,0xc1,0xe0]
129*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r8], #0        @ encoding: [0xd0,0x00,0xc8,0xe0]
130*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r8], #0        @ encoding: [0xd0,0x00,0xc8,0xe0]
131*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r8], #-0       @ encoding: [0xd0,0x00,0x48,0xe0]
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker
134*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
135*9880d681SAndroid Build Coastguard Worker@ LDRD (label)
136*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
137*9880d681SAndroid Build Coastguard Worker        ldrd r2, r3, Lbaz
138*9880d681SAndroid Build Coastguard WorkerLbaz: .quad 0
139*9880d681SAndroid Build Coastguard Worker
140*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd	r2, r3, Lbaz            @ encoding: [0xd0'A',0x20'A',0x4f'A',0xe1'A']
141*9880d681SAndroid Build Coastguard Worker
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
144*9880d681SAndroid Build Coastguard Worker@ LDRD (register)
145*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
146*9880d681SAndroid Build Coastguard Worker        ldrd r4, r5, [r1, r3]
147*9880d681SAndroid Build Coastguard Worker        ldrd r4, r5, [r7, r2]!
148*9880d681SAndroid Build Coastguard Worker        ldrd r0, r1, [r8], r12
149*9880d681SAndroid Build Coastguard Worker        ldrd r0, r1, [r8], -r12
150*9880d681SAndroid Build Coastguard Worker
151*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r4, r5, [r1, r3]        @ encoding: [0xd3,0x40,0x81,0xe1]
152*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r4, r5, [r7, r2]!       @ encoding: [0xd2,0x40,0xa7,0xe1]
153*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r8], r12       @ encoding: [0xdc,0x00,0x88,0xe0]
154*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [r8], -r12      @ encoding: [0xdc,0x00,0x08,0xe0]
155*9880d681SAndroid Build Coastguard Worker
156*9880d681SAndroid Build Coastguard Worker
157*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
158*9880d681SAndroid Build Coastguard Worker@ LDRH (immediate)
159*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
160*9880d681SAndroid Build Coastguard Worker        ldrh r3, [r4]
161*9880d681SAndroid Build Coastguard Worker        ldrh r2, [r7, #4]
162*9880d681SAndroid Build Coastguard Worker        ldrh r1, [r8, #64]!
163*9880d681SAndroid Build Coastguard Worker        ldrh r12, [sp], #4
164*9880d681SAndroid Build Coastguard Worker
165*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r3, [r4]                @ encoding: [0xb0,0x30,0xd4,0xe1]
166*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r2, [r7, #4]            @ encoding: [0xb4,0x20,0xd7,0xe1]
167*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r1, [r8, #64]!          @ encoding: [0xb0,0x14,0xf8,0xe1]
168*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r12, [sp], #4           @ encoding: [0xb4,0xc0,0xdd,0xe0]
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
172*9880d681SAndroid Build Coastguard Worker@ FIXME: LDRH (label)
173*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
174*9880d681SAndroid Build Coastguard Worker
175*9880d681SAndroid Build Coastguard Worker
176*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
177*9880d681SAndroid Build Coastguard Worker@ LDRH (register)
178*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
179*9880d681SAndroid Build Coastguard Worker        ldrh r6, [r5, r4]
180*9880d681SAndroid Build Coastguard Worker        ldrh r3, [r8, r11]!
181*9880d681SAndroid Build Coastguard Worker        ldrh r1, [r2, -r1]!
182*9880d681SAndroid Build Coastguard Worker        ldrh r9, [r7], r2
183*9880d681SAndroid Build Coastguard Worker        ldrh r4, [r3], -r2
184*9880d681SAndroid Build Coastguard Worker
185*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r6, [r5, r4]            @ encoding: [0xb4,0x60,0x95,0xe1]
186*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r3, [r8, r11]!          @ encoding: [0xbb,0x30,0xb8,0xe1]
187*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r1, [r2, -r1]!          @ encoding: [0xb1,0x10,0x32,0xe1]
188*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r9, [r7], r2            @ encoding: [0xb2,0x90,0x97,0xe0]
189*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrh	r4, [r3], -r2           @ encoding: [0xb2,0x40,0x13,0xe0]
190*9880d681SAndroid Build Coastguard Worker
191*9880d681SAndroid Build Coastguard Worker
192*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
193*9880d681SAndroid Build Coastguard Worker@ LDRHT
194*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
195*9880d681SAndroid Build Coastguard Worker        ldrht r9, [r7], #128
196*9880d681SAndroid Build Coastguard Worker        ldrht r4, [r3], #-75
197*9880d681SAndroid Build Coastguard Worker        ldrht r9, [r7], r2
198*9880d681SAndroid Build Coastguard Worker        ldrht r4, [r3], -r2
199*9880d681SAndroid Build Coastguard Worker
200*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht	r9, [r7], #128          @ encoding: [0xb0,0x98,0xf7,0xe0]
201*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht	r4, [r3], #-75          @ encoding: [0xbb,0x44,0x73,0xe0]
202*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht	r9, [r7], r2            @ encoding: [0xb2,0x90,0xb7,0xe0]
203*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrht	r4, [r3], -r2           @ encoding: [0xb2,0x40,0x33,0xe0]
204*9880d681SAndroid Build Coastguard Worker
205*9880d681SAndroid Build Coastguard Worker
206*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
207*9880d681SAndroid Build Coastguard Worker@ LDRSB (immediate)
208*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
209*9880d681SAndroid Build Coastguard Worker        ldrsb r3, [r4]
210*9880d681SAndroid Build Coastguard Worker        ldrsb r2, [r7, #17]
211*9880d681SAndroid Build Coastguard Worker        ldrsb r1, [r8, #255]!
212*9880d681SAndroid Build Coastguard Worker        ldrsb r12, [sp], #9
213*9880d681SAndroid Build Coastguard Worker
214*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r3, [r4]                @ encoding: [0xd0,0x30,0xd4,0xe1]
215*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r2, [r7, #17]           @ encoding: [0xd1,0x21,0xd7,0xe1]
216*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r1, [r8, #255]!         @ encoding: [0xdf,0x1f,0xf8,0xe1]
217*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r12, [sp], #9           @ encoding: [0xd9,0xc0,0xdd,0xe0]
218*9880d681SAndroid Build Coastguard Worker
219*9880d681SAndroid Build Coastguard Worker
220*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
221*9880d681SAndroid Build Coastguard Worker@ FIXME: LDRSB (label)
222*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
223*9880d681SAndroid Build Coastguard Worker
224*9880d681SAndroid Build Coastguard Worker
225*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
226*9880d681SAndroid Build Coastguard Worker@ LDRSB (register)
227*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
228*9880d681SAndroid Build Coastguard Worker        ldrsb r6, [r5, r4]
229*9880d681SAndroid Build Coastguard Worker        ldrsb r3, [r8, r11]!
230*9880d681SAndroid Build Coastguard Worker        ldrsb r1, [r2, -r1]!
231*9880d681SAndroid Build Coastguard Worker        ldrsb r9, [r7], r2
232*9880d681SAndroid Build Coastguard Worker        ldrsb r4, [r3], -r2
233*9880d681SAndroid Build Coastguard Worker
234*9880d681SAndroid Build Coastguard Worker
235*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r6, [r5, r4]            @ encoding: [0xd4,0x60,0x95,0xe1]
236*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r3, [r8, r11]!          @ encoding: [0xdb,0x30,0xb8,0xe1]
237*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r1, [r2, -r1]!          @ encoding: [0xd1,0x10,0x32,0xe1]
238*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r9, [r7], r2            @ encoding: [0xd2,0x90,0x97,0xe0]
239*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsb	r4, [r3], -r2           @ encoding: [0xd2,0x40,0x13,0xe0]
240*9880d681SAndroid Build Coastguard Worker
241*9880d681SAndroid Build Coastguard Worker
242*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
243*9880d681SAndroid Build Coastguard Worker@ LDRSBT
244*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
245*9880d681SAndroid Build Coastguard Worker        ldrsbt r5, [r6], #1
246*9880d681SAndroid Build Coastguard Worker        ldrsbt r3, [r8], #-12
247*9880d681SAndroid Build Coastguard Worker        ldrsbt r8, [r9], r5
248*9880d681SAndroid Build Coastguard Worker        ldrsbt r2, [r1], -r4
249*9880d681SAndroid Build Coastguard Worker
250*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt	r5, [r6], #1            @ encoding: [0xd1,0x50,0xf6,0xe0]
251*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt	r3, [r8], #-12          @ encoding: [0xdc,0x30,0x78,0xe0]
252*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt	r8, [r9], r5            @ encoding: [0xd5,0x80,0xb9,0xe0]
253*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsbt	r2, [r1], -r4           @ encoding: [0xd4,0x20,0x31,0xe0]
254*9880d681SAndroid Build Coastguard Worker
255*9880d681SAndroid Build Coastguard Worker
256*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
257*9880d681SAndroid Build Coastguard Worker@ LDRSH (immediate)
258*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
259*9880d681SAndroid Build Coastguard Worker        ldrsh r5, [r9]
260*9880d681SAndroid Build Coastguard Worker        ldrsh r4, [r5, #7]
261*9880d681SAndroid Build Coastguard Worker        ldrsh r3, [r6, #55]!
262*9880d681SAndroid Build Coastguard Worker        ldrsh r2, [r7], #-9
263*9880d681SAndroid Build Coastguard Worker
264*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r5, [r9]                @ encoding: [0xf0,0x50,0xd9,0xe1]
265*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r4, [r5, #7]            @ encoding: [0xf7,0x40,0xd5,0xe1]
266*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r3, [r6, #55]!          @ encoding: [0xf7,0x33,0xf6,0xe1]
267*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r2, [r7], #-9           @ encoding: [0xf9,0x20,0x57,0xe0]
268*9880d681SAndroid Build Coastguard Worker
269*9880d681SAndroid Build Coastguard Worker
270*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
271*9880d681SAndroid Build Coastguard Worker@ FIXME: LDRSH (label)
272*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
273*9880d681SAndroid Build Coastguard Worker
274*9880d681SAndroid Build Coastguard Worker
275*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
276*9880d681SAndroid Build Coastguard Worker@ LDRSH (register)
277*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
278*9880d681SAndroid Build Coastguard Worker        ldrsh r3, [r1, r5]
279*9880d681SAndroid Build Coastguard Worker        ldrsh r4, [r6, r1]!
280*9880d681SAndroid Build Coastguard Worker        ldrsh r5, [r3, -r6]!
281*9880d681SAndroid Build Coastguard Worker        ldrsh r6, [r9], r8
282*9880d681SAndroid Build Coastguard Worker        ldrsh r7, [r8], -r3
283*9880d681SAndroid Build Coastguard Worker
284*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r3, [r1, r5]            @ encoding: [0xf5,0x30,0x91,0xe1]
285*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r4, [r6, r1]!           @ encoding: [0xf1,0x40,0xb6,0xe1]
286*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r5, [r3, -r6]!          @ encoding: [0xf6,0x50,0x33,0xe1]
287*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r6, [r9], r8            @ encoding: [0xf8,0x60,0x99,0xe0]
288*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsh	r7, [r8], -r3           @ encoding: [0xf3,0x70,0x18,0xe0]
289*9880d681SAndroid Build Coastguard Worker
290*9880d681SAndroid Build Coastguard Worker
291*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
292*9880d681SAndroid Build Coastguard Worker@ LDRSHT
293*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
294*9880d681SAndroid Build Coastguard Worker        ldrsht r5, [r6], #1
295*9880d681SAndroid Build Coastguard Worker        ldrsht r3, [r8], #-12
296*9880d681SAndroid Build Coastguard Worker        ldrsht r8, [r9], r5
297*9880d681SAndroid Build Coastguard Worker        ldrsht r2, [r1], -r4
298*9880d681SAndroid Build Coastguard Worker
299*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht	r5, [r6], #1            @ encoding: [0xf1,0x50,0xf6,0xe0]
300*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht	r3, [r8], #-12          @ encoding: [0xfc,0x30,0x78,0xe0]
301*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht	r8, [r9], r5            @ encoding: [0xf5,0x80,0xb9,0xe0]
302*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrsht	r2, [r1], -r4           @ encoding: [0xf4,0x20,0x31,0xe0]
303*9880d681SAndroid Build Coastguard Worker
304*9880d681SAndroid Build Coastguard Worker
305*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
306*9880d681SAndroid Build Coastguard Worker@ STR (immediate)
307*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
308*9880d681SAndroid Build Coastguard Worker        str r8, [r12]
309*9880d681SAndroid Build Coastguard Worker        str r7, [r1, #12]
310*9880d681SAndroid Build Coastguard Worker        str r3, [r5, #40]!
311*9880d681SAndroid Build Coastguard Worker        str r9, [sp], #4095
312*9880d681SAndroid Build Coastguard Worker        str r1, [r7], #-128
313*9880d681SAndroid Build Coastguard Worker        str r1, [r0], #-0
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r8, [r12]               @ encoding: [0x00,0x80,0x8c,0xe5]
316*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r7, [r1, #12]           @ encoding: [0x0c,0x70,0x81,0xe5]
317*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r3, [r5, #40]!          @ encoding: [0x28,0x30,0xa5,0xe5]
318*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r9, [sp], #4095         @ encoding: [0xff,0x9f,0x8d,0xe4]
319*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r1, [r7], #-128         @ encoding: [0x80,0x10,0x07,0xe4]
320*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r1, [r0], #-0           @ encoding: [0x00,0x10,0x00,0xe4]
321*9880d681SAndroid Build Coastguard Worker
322*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
323*9880d681SAndroid Build Coastguard Worker@ FIXME: STR (literal)
324*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
325*9880d681SAndroid Build Coastguard Worker
326*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
327*9880d681SAndroid Build Coastguard Worker@ STR (register)
328*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
329*9880d681SAndroid Build Coastguard Worker        str r9, [r6, r3]
330*9880d681SAndroid Build Coastguard Worker        str r8, [r0, -r2]
331*9880d681SAndroid Build Coastguard Worker        str r7, [r1, r6]!
332*9880d681SAndroid Build Coastguard Worker        str r6, [sp, -r1]!
333*9880d681SAndroid Build Coastguard Worker        str r5, [r3], r9
334*9880d681SAndroid Build Coastguard Worker        str r4, [r2], -r5
335*9880d681SAndroid Build Coastguard Worker        str r3, [r4, -r2, lsl #2]
336*9880d681SAndroid Build Coastguard Worker        str r2, [r7], r3, asr #24
337*9880d681SAndroid Build Coastguard Worker
338*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r9, [r6, r3]            @ encoding: [0x03,0x90,0x86,0xe7]
339*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r8, [r0, -r2]           @ encoding: [0x02,0x80,0x00,0xe7]
340*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r7, [r1, r6]!           @ encoding: [0x06,0x70,0xa1,0xe7]
341*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r6, [sp, -r1]!          @ encoding: [0x01,0x60,0x2d,0xe7]
342*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r5, [r3], r9            @ encoding: [0x09,0x50,0x83,0xe6]
343*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r4, [r2], -r5           @ encoding: [0x05,0x40,0x02,0xe6]
344*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r3, [r4, -r2, lsl #2]   @ encoding: [0x02,0x31,0x04,0xe7]
345*9880d681SAndroid Build Coastguard Worker@ CHECK: str	r2, [r7], r3, asr #24   @ encoding: [0x43,0x2c,0x87,0xe6]
346*9880d681SAndroid Build Coastguard Worker
347*9880d681SAndroid Build Coastguard Worker
348*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
349*9880d681SAndroid Build Coastguard Worker@ STRB (immediate)
350*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
351*9880d681SAndroid Build Coastguard Worker        strb r9, [r2]
352*9880d681SAndroid Build Coastguard Worker        strb r7, [r1, #3]
353*9880d681SAndroid Build Coastguard Worker        strb r6, [r4, #405]!
354*9880d681SAndroid Build Coastguard Worker        strb r5, [r7], #72
355*9880d681SAndroid Build Coastguard Worker        strb r1, [sp], #-1
356*9880d681SAndroid Build Coastguard Worker
357*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r9, [r2]                @ encoding: [0x00,0x90,0xc2,0xe5]
358*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r7, [r1, #3]            @ encoding: [0x03,0x70,0xc1,0xe5]
359*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r6, [r4, #405]!         @ encoding: [0x95,0x61,0xe4,0xe5]
360*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r5, [r7], #72           @ encoding: [0x48,0x50,0xc7,0xe4]
361*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r1, [sp], #-1           @ encoding: [0x01,0x10,0x4d,0xe4]
362*9880d681SAndroid Build Coastguard Worker
363*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
364*9880d681SAndroid Build Coastguard Worker@ FIXME: STRB (literal)
365*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
366*9880d681SAndroid Build Coastguard Worker
367*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
368*9880d681SAndroid Build Coastguard Worker@ STRB (register)
369*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
370*9880d681SAndroid Build Coastguard Worker        strb r1, [r2, r9]
371*9880d681SAndroid Build Coastguard Worker        strb r2, [r3, -r8]
372*9880d681SAndroid Build Coastguard Worker        strb r3, [r4, r7]!
373*9880d681SAndroid Build Coastguard Worker        strb r4, [r5, -r6]!
374*9880d681SAndroid Build Coastguard Worker        strb r5, [r6], r5
375*9880d681SAndroid Build Coastguard Worker        strb r6, [r2], -r4
376*9880d681SAndroid Build Coastguard Worker        strb r7, [r12, -r3, lsl #5]
377*9880d681SAndroid Build Coastguard Worker        strb sp, [r7], r2, asr #12
378*9880d681SAndroid Build Coastguard Worker
379*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r1, [r2, r9]            @ encoding: [0x09,0x10,0xc2,0xe7]
380*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r2, [r3, -r8]           @ encoding: [0x08,0x20,0x43,0xe7]
381*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r3, [r4, r7]!           @ encoding: [0x07,0x30,0xe4,0xe7]
382*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r4, [r5, -r6]!          @ encoding: [0x06,0x40,0x65,0xe7]
383*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r5, [r6], r5            @ encoding: [0x05,0x50,0xc6,0xe6]
384*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r6, [r2], -r4           @ encoding: [0x04,0x60,0x42,0xe6]
385*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	r7, [r12, -r3, lsl #5]  @ encoding: [0x83,0x72,0x4c,0xe7]
386*9880d681SAndroid Build Coastguard Worker@ CHECK: strb	sp, [r7], r2, asr #12   @ encoding: [0x42,0xd6,0xc7,0xe6]
387*9880d681SAndroid Build Coastguard Worker
388*9880d681SAndroid Build Coastguard Worker
389*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
390*9880d681SAndroid Build Coastguard Worker@ STRBT
391*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
392*9880d681SAndroid Build Coastguard Worker@ FIXME: Optional offset operand.
393*9880d681SAndroid Build Coastguard Worker        strbt r6, [r2], #12
394*9880d681SAndroid Build Coastguard Worker        strbt r5, [r6], #-13
395*9880d681SAndroid Build Coastguard Worker        strbt r4, [r9], r5
396*9880d681SAndroid Build Coastguard Worker        strbt r3, [r8], -r2, lsl #3
397*9880d681SAndroid Build Coastguard Worker
398*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt	r6, [r2], #12           @ encoding: [0x0c,0x60,0xe2,0xe4]
399*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt	r5, [r6], #-13          @ encoding: [0x0d,0x50,0x66,0xe4]
400*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt	r4, [r9], r5            @ encoding: [0x05,0x40,0xe9,0xe6]
401*9880d681SAndroid Build Coastguard Worker@ CHECK: strbt	r3, [r8], -r2, lsl #3   @ encoding: [0x82,0x31,0x68,0xe6]
402*9880d681SAndroid Build Coastguard Worker
403*9880d681SAndroid Build Coastguard Worker
404*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
405*9880d681SAndroid Build Coastguard Worker@ STRD (immediate)
406*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
407*9880d681SAndroid Build Coastguard Worker        strd r1, r2, [r4]
408*9880d681SAndroid Build Coastguard Worker        strd r2, r3, [r6, #1]
409*9880d681SAndroid Build Coastguard Worker        strd r3, r4, [r7, #22]!
410*9880d681SAndroid Build Coastguard Worker        strd r4, r5, [r8], #7
411*9880d681SAndroid Build Coastguard Worker        strd r5, r6, [sp], #0
412*9880d681SAndroid Build Coastguard Worker        strd r6, r7, [lr], #+0
413*9880d681SAndroid Build Coastguard Worker        strd r7, r8, [r9], #-0
414*9880d681SAndroid Build Coastguard Worker
415*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r1, r2, [r4]            @ encoding: [0xf0,0x10,0xc4,0xe1]
416*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r2, r3, [r6, #1]        @ encoding: [0xf1,0x20,0xc6,0xe1]
417*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r3, r4, [r7, #22]!      @ encoding: [0xf6,0x31,0xe7,0xe1]
418*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r4, r5, [r8], #7        @ encoding: [0xf7,0x40,0xc8,0xe0]
419*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r5, r6, [sp], #0        @ encoding: [0xf0,0x50,0xcd,0xe0]
420*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r6, r7, [lr], #0        @ encoding: [0xf0,0x60,0xce,0xe0]
421*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r7, r8, [r9], #-0       @ encoding: [0xf0,0x70,0x49,0xe0]
422*9880d681SAndroid Build Coastguard Worker
423*9880d681SAndroid Build Coastguard Worker
424*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
425*9880d681SAndroid Build Coastguard Worker@ FIXME: STRD (label)
426*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
427*9880d681SAndroid Build Coastguard Worker
428*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
429*9880d681SAndroid Build Coastguard Worker@ STRD (register)
430*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
431*9880d681SAndroid Build Coastguard Worker        strd r8, r9, [r4, r1]
432*9880d681SAndroid Build Coastguard Worker        strd r7, r8, [r3, r9]!
433*9880d681SAndroid Build Coastguard Worker        strd r6, r7, [r5], r8
434*9880d681SAndroid Build Coastguard Worker        strd r5, r6, [r12], -r10
435*9880d681SAndroid Build Coastguard Worker
436*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r8, r9, [r4, r1]        @ encoding: [0xf1,0x80,0x84,0xe1]
437*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r7, r8, [r3, r9]!       @ encoding: [0xf9,0x70,0xa3,0xe1]
438*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r6, r7, [r5], r8        @ encoding: [0xf8,0x60,0x85,0xe0]
439*9880d681SAndroid Build Coastguard Worker@ CHECK: strd	r5, r6, [r12], -r10     @ encoding: [0xfa,0x50,0x0c,0xe0]
440*9880d681SAndroid Build Coastguard Worker
441*9880d681SAndroid Build Coastguard Worker
442*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
443*9880d681SAndroid Build Coastguard Worker@ STRH (immediate)
444*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
445*9880d681SAndroid Build Coastguard Worker        strh r3, [r4]
446*9880d681SAndroid Build Coastguard Worker        strh r2, [r7, #4]
447*9880d681SAndroid Build Coastguard Worker        strh r1, [r8, #64]!
448*9880d681SAndroid Build Coastguard Worker        strh r12, [sp], #4
449*9880d681SAndroid Build Coastguard Worker
450*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r3, [r4]                @ encoding: [0xb0,0x30,0xc4,0xe1]
451*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r2, [r7, #4]            @ encoding: [0xb4,0x20,0xc7,0xe1]
452*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r1, [r8, #64]!          @ encoding: [0xb0,0x14,0xe8,0xe1]
453*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r12, [sp], #4           @ encoding: [0xb4,0xc0,0xcd,0xe0]
454*9880d681SAndroid Build Coastguard Worker
455*9880d681SAndroid Build Coastguard Worker
456*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
457*9880d681SAndroid Build Coastguard Worker@ FIXME: STRH (label)
458*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
459*9880d681SAndroid Build Coastguard Worker
460*9880d681SAndroid Build Coastguard Worker
461*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
462*9880d681SAndroid Build Coastguard Worker@ STRH (register)
463*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
464*9880d681SAndroid Build Coastguard Worker        strh r6, [r5, r4]
465*9880d681SAndroid Build Coastguard Worker        strh r3, [r8, r11]!
466*9880d681SAndroid Build Coastguard Worker        strh r1, [r2, -r1]!
467*9880d681SAndroid Build Coastguard Worker        strh r9, [r7], r2
468*9880d681SAndroid Build Coastguard Worker        strh r4, [r3], -r2
469*9880d681SAndroid Build Coastguard Worker
470*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r6, [r5, r4]            @ encoding: [0xb4,0x60,0x85,0xe1]
471*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r3, [r8, r11]!          @ encoding: [0xbb,0x30,0xa8,0xe1]
472*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r1, [r2, -r1]!          @ encoding: [0xb1,0x10,0x22,0xe1]
473*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r9, [r7], r2            @ encoding: [0xb2,0x90,0x87,0xe0]
474*9880d681SAndroid Build Coastguard Worker@ CHECK: strh	r4, [r3], -r2           @ encoding: [0xb2,0x40,0x03,0xe0]
475*9880d681SAndroid Build Coastguard Worker
476*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
477*9880d681SAndroid Build Coastguard Worker@ STRHT
478*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
479*9880d681SAndroid Build Coastguard Worker        strht r2, [r5], #76
480*9880d681SAndroid Build Coastguard Worker        strht r8, [r1], #-25
481*9880d681SAndroid Build Coastguard Worker        strht r5, [r3], r4
482*9880d681SAndroid Build Coastguard Worker        strht r6, [r8], -r0
483*9880d681SAndroid Build Coastguard Worker
484*9880d681SAndroid Build Coastguard Worker@ CHECK: strht	r2, [r5], #76           @ encoding: [0xbc,0x24,0xe5,0xe0]
485*9880d681SAndroid Build Coastguard Worker@ CHECK: strht	r8, [r1], #-25          @ encoding: [0xb9,0x81,0x61,0xe0]
486*9880d681SAndroid Build Coastguard Worker@ CHECK: strht	r5, [r3], r4            @ encoding: [0xb4,0x50,0xa3,0xe0]
487*9880d681SAndroid Build Coastguard Worker@ CHECK: strht	r6, [r8], -r0           @ encoding: [0xb0,0x60,0x28,0xe0]
488*9880d681SAndroid Build Coastguard Worker
489*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
490*9880d681SAndroid Build Coastguard Worker@ GNU Assembler Compatibility
491*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
492*9880d681SAndroid Build Coastguard Worker
493*9880d681SAndroid Build Coastguard Worker	ldrd r0, [sp]
494*9880d681SAndroid Build Coastguard Worker	strd r0, [sp]
495*9880d681SAndroid Build Coastguard Worker
496*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrd r0, r1, [sp]              @ encoding: [0xd0,0x00,0xcd,0xe1]
497*9880d681SAndroid Build Coastguard Worker@ CHECK: strd r0, r1, [sp]              @ encoding: [0xf0,0x00,0xcd,0xe1]
498*9880d681SAndroid Build Coastguard Worker
499