xref: /aosp_15_r20/external/llvm/test/MC/ARM/basic-arm-instructions.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple=armebv7-unknown-unknown -mcpu=cortex-a8 -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s
3*9880d681SAndroid Build Coastguard Worker  .syntax unified
4*9880d681SAndroid Build Coastguard Worker  .globl _func
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker@ Check that the assembler can handle the documented syntax from the ARM ARM.
7*9880d681SAndroid Build Coastguard Worker@ For complex constructs like shifter operands, check more thoroughly for them
8*9880d681SAndroid Build Coastguard Worker@ once then spot check that following instructions accept the form generally.
9*9880d681SAndroid Build Coastguard Worker@ This gives us good coverage while keeping the overall size of the test
10*9880d681SAndroid Build Coastguard Worker@ more reasonable.
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker_func:
13*9880d681SAndroid Build Coastguard Worker@ CHECK: _func
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
16*9880d681SAndroid Build Coastguard Worker@ ADC (immediate)
17*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
18*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf
19*9880d681SAndroid Build Coastguard Worker        adc r1, r2, $0xf
20*9880d681SAndroid Build Coastguard Worker        adc r1, r2, 0xf
21*9880d681SAndroid Build Coastguard Worker        adc r7, r8, #(0xff << 16)
22*9880d681SAndroid Build Coastguard Worker        adc r7, r8, #-2147483638
23*9880d681SAndroid Build Coastguard Worker        adc r7, r8, #42, #2
24*9880d681SAndroid Build Coastguard Worker        adc r7, r8, #40, #2
25*9880d681SAndroid Build Coastguard Worker        adc r7, r8, $40, $2
26*9880d681SAndroid Build Coastguard Worker        adc r7, r8, 40, 2
27*9880d681SAndroid Build Coastguard Worker        adc r7, r8, (2 * 20), (1 << 1)
28*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf0
29*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf00
30*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf000
31*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf0000
32*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf00000
33*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf000000
34*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf0000000
35*9880d681SAndroid Build Coastguard Worker        adc r1, r2, #0xf000000f
36*9880d681SAndroid Build Coastguard Worker        adcs r1, r2, #0xf00
37*9880d681SAndroid Build Coastguard Worker        adcs r7, r8, #40, #2
38*9880d681SAndroid Build Coastguard Worker        adcseq r1, r2, #0xf00
39*9880d681SAndroid Build Coastguard Worker        adceq r1, r2, #0xf00
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #15             @ encoding: [0x0f,0x10,0xa2,0xe2]
42*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #15             @ encoding: [0x0f,0x10,0xa2,0xe2]
43*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #15             @ encoding: [0x0f,0x10,0xa2,0xe2]
44*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r7, r8, #16711680       @ encoding: [0xff,0x78,0xa8,0xe2]
45*9880d681SAndroid Build Coastguard Worker@ CHECK: adc    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xa8,0xe2]
46*9880d681SAndroid Build Coastguard Worker@ CHECK: adc    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xa8,0xe2]
47*9880d681SAndroid Build Coastguard Worker@ CHECK: adc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xa8,0xe2]
48*9880d681SAndroid Build Coastguard Worker@ CHECK: adc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xa8,0xe2]
49*9880d681SAndroid Build Coastguard Worker@ CHECK: adc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xa8,0xe2]
50*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r7, r8, #40, #2         @ encoding: [0x28,0x71,0xa8,0xe2]
51*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #240            @ encoding: [0xf0,0x10,0xa2,0xe2]
52*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xa2,0xe2]
53*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #61440          @ encoding: [0x0f,0x1a,0xa2,0xe2]
54*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #983040         @ encoding: [0x0f,0x18,0xa2,0xe2]
55*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #15728640       @ encoding: [0x0f,0x16,0xa2,0xe2]
56*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #251658240      @ encoding: [0x0f,0x14,0xa2,0xe2]
57*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #-268435456     @ encoding: [0x0f,0x12,0xa2,0xe2]
58*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r1, r2, #-268435441     @ encoding: [0xff,0x12,0xa2,0xe2]
59*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xb2,0xe2]
60*9880d681SAndroid Build Coastguard Worker@ CHECK: adcs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0xb8,0xe2]
61*9880d681SAndroid Build Coastguard Worker@ CHECK: adcseq	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xb2,0x02]
62*9880d681SAndroid Build Coastguard Worker@ CHECK: adceq	r1, r2, #3840           @ encoding: [0x0f,0x1c,0xa2,0x02]
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
65*9880d681SAndroid Build Coastguard Worker@ ADC (register)
66*9880d681SAndroid Build Coastguard Worker@ ADC (shifted register)
67*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
68*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6
69*9880d681SAndroid Build Coastguard Worker        @ Constant shifts
70*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, lsl #1
71*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, lsl #31
72*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, lsr #1
73*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, lsr #31
74*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, lsr #32
75*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, asr #1
76*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, asr #31
77*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, asr #32
78*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, ror #1
79*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, ror #31
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker        @ Register shifts
82*9880d681SAndroid Build Coastguard Worker        adc r6, r7, r8, lsl r9
83*9880d681SAndroid Build Coastguard Worker        adc r6, r7, r8, lsr r9
84*9880d681SAndroid Build Coastguard Worker        adc r6, r7, r8, asr r9
85*9880d681SAndroid Build Coastguard Worker        adc r6, r7, r8, ror r9
86*9880d681SAndroid Build Coastguard Worker        adc r4, r5, r6, rrx
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Worker        @ Destination register is optional
89*9880d681SAndroid Build Coastguard Worker        adc r5, r6
90*9880d681SAndroid Build Coastguard Worker        adc r4, r5, lsl #1
91*9880d681SAndroid Build Coastguard Worker        adc r4, r5, lsl #31
92*9880d681SAndroid Build Coastguard Worker        adc r4, r5, lsr #1
93*9880d681SAndroid Build Coastguard Worker        adc r4, r5, lsr #31
94*9880d681SAndroid Build Coastguard Worker        adc r4, r5, lsr #32
95*9880d681SAndroid Build Coastguard Worker        adc r4, r5, asr #1
96*9880d681SAndroid Build Coastguard Worker        adc r4, r5, asr #31
97*9880d681SAndroid Build Coastguard Worker        adc r4, r5, asr #32
98*9880d681SAndroid Build Coastguard Worker        adc r4, r5, ror #1
99*9880d681SAndroid Build Coastguard Worker        adc r4, r5, ror #31
100*9880d681SAndroid Build Coastguard Worker        adc r4, r5, rrx
101*9880d681SAndroid Build Coastguard Worker        adc r6, r7, lsl r9
102*9880d681SAndroid Build Coastguard Worker        adc r6, r7, lsr r9
103*9880d681SAndroid Build Coastguard Worker        adc r6, r7, asr r9
104*9880d681SAndroid Build Coastguard Worker        adc r6, r7, ror r9
105*9880d681SAndroid Build Coastguard Worker        adc r4, r5, rrx
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6              @ encoding: [0x06,0x40,0xa5,0xe0]
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, lsl #1      @ encoding: [0x86,0x40,0xa5,0xe0]
110*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, lsl #31     @ encoding: [0x86,0x4f,0xa5,0xe0]
111*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, lsr #1      @ encoding: [0xa6,0x40,0xa5,0xe0]
112*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, lsr #31     @ encoding: [0xa6,0x4f,0xa5,0xe0]
113*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, lsr #32     @ encoding: [0x26,0x40,0xa5,0xe0]
114*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, asr #1      @ encoding: [0xc6,0x40,0xa5,0xe0]
115*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, asr #31     @ encoding: [0xc6,0x4f,0xa5,0xe0]
116*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, asr #32     @ encoding: [0x46,0x40,0xa5,0xe0]
117*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, ror #1      @ encoding: [0xe6,0x40,0xa5,0xe0]
118*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, ror #31     @ encoding: [0xe6,0x4f,0xa5,0xe0]
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xa7,0xe0]
121*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xa7,0xe0]
122*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xa7,0xe0]
123*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xa7,0xe0]
124*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0xa5,0xe0]
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r5, r5, r6              @ encoding: [0x06,0x50,0xa5,0xe0]
127*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, lsl #1      @ encoding: [0x85,0x40,0xa4,0xe0]
128*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, lsl #31     @ encoding: [0x85,0x4f,0xa4,0xe0]
129*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, lsr #1      @ encoding: [0xa5,0x40,0xa4,0xe0]
130*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, lsr #31     @ encoding: [0xa5,0x4f,0xa4,0xe0]
131*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, lsr #32     @ encoding: [0x25,0x40,0xa4,0xe0]
132*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, asr #1      @ encoding: [0xc5,0x40,0xa4,0xe0]
133*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, asr #31     @ encoding: [0xc5,0x4f,0xa4,0xe0]
134*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, asr #32     @ encoding: [0x45,0x40,0xa4,0xe0]
135*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, ror #1      @ encoding: [0xe5,0x40,0xa4,0xe0]
136*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, ror #31     @ encoding: [0xe5,0x4f,0xa4,0xe0]
137*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0xa4,0xe0]
138*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xa6,0xe0]
139*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xa6,0xe0]
140*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xa6,0xe0]
141*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xa6,0xe0]
142*9880d681SAndroid Build Coastguard Worker@ CHECK: adc	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0xa4,0xe0]
143*9880d681SAndroid Build Coastguard Worker
144*9880d681SAndroid Build Coastguard Worker
145*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
146*9880d681SAndroid Build Coastguard Worker@ ADR
147*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
148*9880d681SAndroid Build Coastguard WorkerLback:
149*9880d681SAndroid Build Coastguard Worker        adr r2, Lback
150*9880d681SAndroid Build Coastguard Worker        adr r3, Lforward
151*9880d681SAndroid Build Coastguard WorkerLforward:
152*9880d681SAndroid Build Coastguard Worker        adr	r2, #3
153*9880d681SAndroid Build Coastguard Worker        adr	r2, #-3
154*9880d681SAndroid Build Coastguard Worker
155*9880d681SAndroid Build Coastguard Worker@ CHECK: Lback:
156*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r2, Lback    @ encoding: [A,0x20'A',0x0f'A',0xe2'A']
157*9880d681SAndroid Build Coastguard Worker@ CHECK:  @   fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12
158*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: adr	r2, Lback    @ encoding: [0xe2'A',0x0f'A',0x20'A',A]
159*9880d681SAndroid Build Coastguard Worker@ CHECK-BE:  @   fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12
160*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r3, Lforward @ encoding: [A,0x30'A',0x0f'A',0xe2'A']
161*9880d681SAndroid Build Coastguard Worker@ CHECK:  @   fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12
162*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: adr	r3, Lforward @ encoding: [0xe2'A',0x0f'A',0x30'A',A]
163*9880d681SAndroid Build Coastguard Worker@ CHECK-BE:  @   fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12
164*9880d681SAndroid Build Coastguard Worker@ CHECK: Lforward:
165*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r2, #3                  @ encoding: [0x03,0x20,0x8f,0xe2]
166*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r2, #-3                 @ encoding: [0x03,0x20,0x4f,0xe2]
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Worker        adr r1, #-0x0
169*9880d681SAndroid Build Coastguard Worker        adr r1, #-0x12000000
170*9880d681SAndroid Build Coastguard Worker        adr r1, #-0x80000001
171*9880d681SAndroid Build Coastguard Worker        adr r1, #0x12000000
172*9880d681SAndroid Build Coastguard Worker        adr r1, #0x80000001
173*9880d681SAndroid Build Coastguard Worker
174*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r1, #-0                 @ encoding: [0x00,0x10,0x4f,0xe2]
175*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r1, #-301989888         @ encoding: [0x12,0x14,0x4f,0xe2]
176*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r1, #2147483647         @ encoding: [0x06,0x11,0x4f,0xe2]
177*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r1, #301989888          @ encoding: [0x12,0x14,0x8f,0xe2]
178*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r1, #-2147483647        @ encoding: [0x06,0x11,0x8f,0xe2]
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
181*9880d681SAndroid Build Coastguard Worker@ ADD
182*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
183*9880d681SAndroid Build Coastguard Worker        add r4, r5, #0xf000
184*9880d681SAndroid Build Coastguard Worker        add r4, r5, $0xf000
185*9880d681SAndroid Build Coastguard Worker        add r4, r5, 0xf000
186*9880d681SAndroid Build Coastguard Worker        add r4, r5, -0xf000
187*9880d681SAndroid Build Coastguard Worker	add r7, r8, #(0xff << 16)
188*9880d681SAndroid Build Coastguard Worker        add r7, r8, #-2147483638
189*9880d681SAndroid Build Coastguard Worker        add r7, r8, #42, #2
190*9880d681SAndroid Build Coastguard Worker        add r7, r8, #40, #2
191*9880d681SAndroid Build Coastguard Worker        add r7, r8, $40, $2
192*9880d681SAndroid Build Coastguard Worker        add r7, r8, 40, 2
193*9880d681SAndroid Build Coastguard Worker        add r7, r8, (2 * 20), (1 << 1)
194*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6
195*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6, lsl #5
196*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6, lsr #5
197*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6, lsr #5
198*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6, asr #5
199*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6, ror #5
200*9880d681SAndroid Build Coastguard Worker        add r6, r7, r8, lsl r9
201*9880d681SAndroid Build Coastguard Worker        add r4, r4, r3, asl r9
202*9880d681SAndroid Build Coastguard Worker        add r6, r7, r8, lsr r9
203*9880d681SAndroid Build Coastguard Worker        add r6, r7, r8, asr r9
204*9880d681SAndroid Build Coastguard Worker        add r6, r7, r8, ror r9
205*9880d681SAndroid Build Coastguard Worker        add r4, r5, r6, rrx
206*9880d681SAndroid Build Coastguard Worker
207*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
208*9880d681SAndroid Build Coastguard Worker        add r5, #0xf000
209*9880d681SAndroid Build Coastguard Worker        add r5, $0xf000
210*9880d681SAndroid Build Coastguard Worker        add r5, 0xf000
211*9880d681SAndroid Build Coastguard Worker        add r5, -0xf000
212*9880d681SAndroid Build Coastguard Worker	add r7, #(0xff << 16)
213*9880d681SAndroid Build Coastguard Worker        add r7, #-2147483638
214*9880d681SAndroid Build Coastguard Worker        add r7, #42, #2
215*9880d681SAndroid Build Coastguard Worker        add r7, #40, #2
216*9880d681SAndroid Build Coastguard Worker        add r7, $40, $2
217*9880d681SAndroid Build Coastguard Worker        add r7, 40, 2
218*9880d681SAndroid Build Coastguard Worker        add r7, (2 * 20), (1 << 1)
219*9880d681SAndroid Build Coastguard Worker        add r4, r5
220*9880d681SAndroid Build Coastguard Worker        add r4, r5, lsl #5
221*9880d681SAndroid Build Coastguard Worker        add r4, r5, lsr #5
222*9880d681SAndroid Build Coastguard Worker        add r4, r5, lsr #5
223*9880d681SAndroid Build Coastguard Worker        add r4, r5, asr #5
224*9880d681SAndroid Build Coastguard Worker        add r4, r5, ror #5
225*9880d681SAndroid Build Coastguard Worker        add r6, r7, lsl r9
226*9880d681SAndroid Build Coastguard Worker        add r6, r7, lsr r9
227*9880d681SAndroid Build Coastguard Worker        add r6, r7, asr r9
228*9880d681SAndroid Build Coastguard Worker        add r6, r7, ror r9
229*9880d681SAndroid Build Coastguard Worker        add r4, r5, rrx
230*9880d681SAndroid Build Coastguard Worker
231*9880d681SAndroid Build Coastguard Worker        add r0, #-4
232*9880d681SAndroid Build Coastguard Worker        add r4, r5, #-21
233*9880d681SAndroid Build Coastguard Worker        add r0, pc, #0xc0000000
234*9880d681SAndroid Build Coastguard Worker        addseq r0,pc,#0xc0000000
235*9880d681SAndroid Build Coastguard Worker
236*9880d681SAndroid Build Coastguard Worker
237*9880d681SAndroid Build Coastguard Worker        add r0, pc, #(Lback - .)
238*9880d681SAndroid Build Coastguard Worker
239*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe2]
240*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe2]
241*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe2]
242*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x45,0xe2]
243*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r8, #16711680       @ encoding: [0xff,0x78,0x88,0xe2]
244*9880d681SAndroid Build Coastguard Worker@ CHECK: add    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x88,0xe2]
245*9880d681SAndroid Build Coastguard Worker@ CHECK: add    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x88,0xe2]
246*9880d681SAndroid Build Coastguard Worker@ CHECK: add    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe2]
247*9880d681SAndroid Build Coastguard Worker@ CHECK: add    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe2]
248*9880d681SAndroid Build Coastguard Worker@ CHECK: add    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe2]
249*9880d681SAndroid Build Coastguard Worker@ CHECK: add    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe2]
250*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0xe0]
251*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x85,0xe0]
252*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe0]
253*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe0]
254*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x85,0xe0]
255*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x85,0xe0]
256*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x87,0xe0]
257*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r3, lsl r9      @ encoding: [0x13,0x49,0x84,0xe0]
258*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x87,0xe0]
259*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x87,0xe0]
260*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0xe0]
261*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x85,0xe0]
262*9880d681SAndroid Build Coastguard Worker
263*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe2]
264*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe2]
265*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe2]
266*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x45,0xe2]
267*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #16711680       @ encoding: [0xff,0x78,0x87,0xe2]
268*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x87,0xe2]
269*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x87,0xe2]
270*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe2]
271*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe2]
272*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe2]
273*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe2]
274*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5              @ encoding: [0x05,0x40,0x84,0xe0]
275*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x84,0xe0]
276*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe0]
277*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe0]
278*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x84,0xe0]
279*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x84,0xe0]
280*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x86,0xe0]
281*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x86,0xe0]
282*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0xe0]
283*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x86,0xe0]
284*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x84,0xe0]
285*9880d681SAndroid Build Coastguard Worker
286*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r0, r0, #4              @ encoding: [0x04,0x00,0x40,0xe2]
287*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, #21             @ encoding: [0x15,0x40,0x45,0xe2]
288*9880d681SAndroid Build Coastguard Worker@ CHECK: adr	r0, #-1073741824        @ encoding: [0x03,0x01,0x8f,0xe2]
289*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq r0, pc, #-1073741824    @ encoding: [0x03,0x01,0x9f,0x02]
290*9880d681SAndroid Build Coastguard Worker@ CHECK:        Ltmp0:
291*9880d681SAndroid Build Coastguard Worker@ CHECK-NEXT:   Ltmp1:
292*9880d681SAndroid Build Coastguard Worker@ CHECK-NEXT:   adr	r0, (Ltmp1+8)+(Lback-Ltmp0) @ encoding: [A,A,0x0f'A',0xe2'A']
293*9880d681SAndroid Build Coastguard Worker@ CHECK-NEXT:                           @   fixup A - offset: 0, value: (Ltmp1+8)+(Lback-Ltmp0), kind: fixup_arm_adr_pcrel_12
294*9880d681SAndroid Build Coastguard Worker
295*9880d681SAndroid Build Coastguard Worker    @ Test right shift by 32, which is encoded as 0
296*9880d681SAndroid Build Coastguard Worker    add r3, r1, r2, lsr #32
297*9880d681SAndroid Build Coastguard Worker    add r3, r1, r2, asr #32
298*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r3, r1, r2, lsr #32     @ encoding: [0x22,0x30,0x81,0xe0]
299*9880d681SAndroid Build Coastguard Worker@ CHECK: add	r3, r1, r2, asr #32     @ encoding: [0x42,0x30,0x81,0xe0]
300*9880d681SAndroid Build Coastguard Worker
301*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
302*9880d681SAndroid Build Coastguard Worker@ ADDS
303*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
304*9880d681SAndroid Build Coastguard Worker    adds r7, r8, #16711680
305*9880d681SAndroid Build Coastguard Worker    adds r7, r8, $16711680
306*9880d681SAndroid Build Coastguard Worker    adds r7, r8, 16711680
307*9880d681SAndroid Build Coastguard Worker    adds r7, r8, #(0xff << 16)
308*9880d681SAndroid Build Coastguard Worker    adds r7, r8, #-2147483638
309*9880d681SAndroid Build Coastguard Worker    adds r7, r8, #42, #2
310*9880d681SAndroid Build Coastguard Worker    adds r7, r8, #40, #2
311*9880d681SAndroid Build Coastguard Worker    adds r7, r8, $40, $2
312*9880d681SAndroid Build Coastguard Worker    adds r7, r8, 40, 2
313*9880d681SAndroid Build Coastguard Worker    adds r7, r8, (2 * 20), (1 << 1)
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Worker@ CHECK: adds	r7, r8, #16711680         @ encoding: [0xff,0x78,0x98,0xe2]
316*9880d681SAndroid Build Coastguard Worker@ CHECK: adds	r7, r8, #16711680         @ encoding: [0xff,0x78,0x98,0xe2]
317*9880d681SAndroid Build Coastguard Worker@ CHECK: adds	r7, r8, #16711680         @ encoding: [0xff,0x78,0x98,0xe2]
318*9880d681SAndroid Build Coastguard Worker@ CHECK: adds	r7, r8, #16711680         @ encoding: [0xff,0x78,0x98,0xe2]
319*9880d681SAndroid Build Coastguard Worker@ CHECK: adds   r7, r8, #-2147483638      @ encoding: [0x2a,0x71,0x98,0xe2]
320*9880d681SAndroid Build Coastguard Worker@ CHECK: adds   r7, r8, #-2147483638      @ encoding: [0x2a,0x71,0x98,0xe2]
321*9880d681SAndroid Build Coastguard Worker@ CHECK: adds   r7, r8, #40, #2           @ encoding: [0x28,0x71,0x98,0xe2]
322*9880d681SAndroid Build Coastguard Worker@ CHECK: adds   r7, r8, #40, #2           @ encoding: [0x28,0x71,0x98,0xe2]
323*9880d681SAndroid Build Coastguard Worker@ CHECK: adds   r7, r8, #40, #2           @ encoding: [0x28,0x71,0x98,0xe2]
324*9880d681SAndroid Build Coastguard Worker@ CHECK: adds   r7, r8, #40, #2           @ encoding: [0x28,0x71,0x98,0xe2]
325*9880d681SAndroid Build Coastguard Worker
326*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
327*9880d681SAndroid Build Coastguard Worker@ AND
328*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
329*9880d681SAndroid Build Coastguard Worker    and r10, r1, #0xf
330*9880d681SAndroid Build Coastguard Worker    and r10, r1, $0xf
331*9880d681SAndroid Build Coastguard Worker    and r10, r1, 0xf
332*9880d681SAndroid Build Coastguard Worker    and r10, r1, -0xf
333*9880d681SAndroid Build Coastguard Worker    and r7, r8, #(0xff << 16)
334*9880d681SAndroid Build Coastguard Worker    and r7, r8, #-2147483638
335*9880d681SAndroid Build Coastguard Worker    and r7, r8, #42, #2
336*9880d681SAndroid Build Coastguard Worker    and r7, r8, #40, #2
337*9880d681SAndroid Build Coastguard Worker    and r7, r8, $40, $2
338*9880d681SAndroid Build Coastguard Worker    and r7, r8, 40, 2
339*9880d681SAndroid Build Coastguard Worker    and r7, r8, (2 * 20), (1 << 1)
340*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6
341*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6, lsl #10
342*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6, lsr #10
343*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6, lsr #10
344*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6, asr #10
345*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6, ror #10
346*9880d681SAndroid Build Coastguard Worker    and r6, r7, r8, lsl r2
347*9880d681SAndroid Build Coastguard Worker    and r6, r7, r8, lsr r2
348*9880d681SAndroid Build Coastguard Worker    and r6, r7, r8, asr r2
349*9880d681SAndroid Build Coastguard Worker    and r6, r7, r8, ror r2
350*9880d681SAndroid Build Coastguard Worker    and r10, r1, r6, rrx
351*9880d681SAndroid Build Coastguard Worker    and r2, r3, #0x7fffffff
352*9880d681SAndroid Build Coastguard Worker    and sp, sp, #0x7fffffff
353*9880d681SAndroid Build Coastguard Worker    and pc, pc, #0x7fffffff
354*9880d681SAndroid Build Coastguard Worker
355*9880d681SAndroid Build Coastguard Worker    @ destination register is optional
356*9880d681SAndroid Build Coastguard Worker    and r1, #0xf
357*9880d681SAndroid Build Coastguard Worker    and r1, $0xf
358*9880d681SAndroid Build Coastguard Worker    and r1, 0xf
359*9880d681SAndroid Build Coastguard Worker    and r1, -0xf
360*9880d681SAndroid Build Coastguard Worker    and r7, #(0xff << 16)
361*9880d681SAndroid Build Coastguard Worker    and r7, #-2147483638
362*9880d681SAndroid Build Coastguard Worker    and r7, #42, #2
363*9880d681SAndroid Build Coastguard Worker    and r7, #40, #2
364*9880d681SAndroid Build Coastguard Worker    and r7, $40, $2
365*9880d681SAndroid Build Coastguard Worker    and r7, 40, 2
366*9880d681SAndroid Build Coastguard Worker    and r7, (2 * 20), (1 << 1)
367*9880d681SAndroid Build Coastguard Worker    and r10, r1
368*9880d681SAndroid Build Coastguard Worker    and r10, r1, lsl #10
369*9880d681SAndroid Build Coastguard Worker    and r10, r1, lsr #10
370*9880d681SAndroid Build Coastguard Worker    and r10, r1, lsr #10
371*9880d681SAndroid Build Coastguard Worker    and r10, r1, asr #10
372*9880d681SAndroid Build Coastguard Worker    and r10, r1, ror #10
373*9880d681SAndroid Build Coastguard Worker    and r6, r7, lsl r2
374*9880d681SAndroid Build Coastguard Worker    and r6, r7, lsr r2
375*9880d681SAndroid Build Coastguard Worker    and r6, r7, asr r2
376*9880d681SAndroid Build Coastguard Worker    and r6, r7, ror r2
377*9880d681SAndroid Build Coastguard Worker    and r10, r1, rrx
378*9880d681SAndroid Build Coastguard Worker
379*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, #15            @ encoding: [0x0f,0xa0,0x01,0xe2]
380*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, #15            @ encoding: [0x0f,0xa0,0x01,0xe2]
381*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, #15            @ encoding: [0x0f,0xa0,0x01,0xe2]
382*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, #14            @ encoding: [0x0e,0xa0,0xc1,0xe3]
383*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r8, #16711680       @ encoding: [0xff,0x78,0x08,0xe2]
384*9880d681SAndroid Build Coastguard Worker@ CHECK: and    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x08,0xe2]
385*9880d681SAndroid Build Coastguard Worker@ CHECK: and    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x08,0xe2]
386*9880d681SAndroid Build Coastguard Worker@ CHECK: and    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x08,0xe2]
387*9880d681SAndroid Build Coastguard Worker@ CHECK: and    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x08,0xe2]
388*9880d681SAndroid Build Coastguard Worker@ CHECK: and    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x08,0xe2]
389*9880d681SAndroid Build Coastguard Worker@ CHECK: and    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x08,0xe2]
390*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6             @ encoding: [0x06,0xa0,0x01,0xe0]
391*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6, lsl #10    @ encoding: [0x06,0xa5,0x01,0xe0]
392*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0x01,0xe0]
393*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0x01,0xe0]
394*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6, asr #10    @ encoding: [0x46,0xa5,0x01,0xe0]
395*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6, ror #10    @ encoding: [0x66,0xa5,0x01,0xe0]
396*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r7, r8, lsl r2      @ encoding: [0x18,0x62,0x07,0xe0]
397*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r7, r8, lsr r2      @ encoding: [0x38,0x62,0x07,0xe0]
398*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r7, r8, asr r2      @ encoding: [0x58,0x62,0x07,0xe0]
399*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r7, r8, ror r2      @ encoding: [0x78,0x62,0x07,0xe0]
400*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, r6, rrx        @ encoding: [0x66,0xa0,0x01,0xe0]
401*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r2, r3, #-2147483648    @ encoding: [0x02,0x21,0xc3,0xe3]
402*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	sp, sp, #-2147483648    @ encoding: [0x02,0xd1,0xcd,0xe3]
403*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	pc, pc, #-2147483648    @ encoding: [0x02,0xf1,0xcf,0xe3]
404*9880d681SAndroid Build Coastguard Worker
405*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r1, r1, #15             @ encoding: [0x0f,0x10,0x01,0xe2]
406*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r1, r1, #15             @ encoding: [0x0f,0x10,0x01,0xe2]
407*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r1, r1, #15             @ encoding: [0x0f,0x10,0x01,0xe2]
408*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r1, r1, #14             @ encoding: [0x0e,0x10,0xc1,0xe3]
409*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #16711680       @ encoding: [0xff,0x78,0x07,0xe2]
410*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x07,0xe2]
411*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x07,0xe2]
412*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x07,0xe2]
413*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x07,0xe2]
414*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x07,0xe2]
415*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x07,0xe2]
416*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1            @ encoding: [0x01,0xa0,0x0a,0xe0]
417*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1, lsl #10   @ encoding: [0x01,0xa5,0x0a,0xe0]
418*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0x0a,0xe0]
419*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0x0a,0xe0]
420*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1, asr #10   @ encoding: [0x41,0xa5,0x0a,0xe0]
421*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1, ror #10   @ encoding: [0x61,0xa5,0x0a,0xe0]
422*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r6, r7, lsl r2      @ encoding: [0x17,0x62,0x06,0xe0]
423*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r6, r7, lsr r2      @ encoding: [0x37,0x62,0x06,0xe0]
424*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r6, r7, asr r2      @ encoding: [0x57,0x62,0x06,0xe0]
425*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r6, r6, r7, ror r2      @ encoding: [0x77,0x62,0x06,0xe0]
426*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r10, r1, rrx       @ encoding: [0x61,0xa0,0x0a,0xe0]
427*9880d681SAndroid Build Coastguard Worker
428*9880d681SAndroid Build Coastguard Worker    @ Test right shift by 32, which is encoded as 0
429*9880d681SAndroid Build Coastguard Worker    and r3, r1, r2, lsr #32
430*9880d681SAndroid Build Coastguard Worker    and r3, r1, r2, asr #32
431*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r3, r1, r2, lsr #32     @ encoding: [0x22,0x30,0x01,0xe0]
432*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r3, r1, r2, asr #32     @ encoding: [0x42,0x30,0x01,0xe0]
433*9880d681SAndroid Build Coastguard Worker
434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
435*9880d681SAndroid Build Coastguard Worker@ ASR
436*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
437*9880d681SAndroid Build Coastguard Worker	asr r2, r4, #32
438*9880d681SAndroid Build Coastguard Worker	asr r2, r4, #2
439*9880d681SAndroid Build Coastguard Worker	asr r2, r4, #0
440*9880d681SAndroid Build Coastguard Worker	asr r4, #2
441*9880d681SAndroid Build Coastguard Worker
442*9880d681SAndroid Build Coastguard Worker@ CHECK: asr	r2, r4, #32             @ encoding: [0x44,0x20,0xa0,0xe1]
443*9880d681SAndroid Build Coastguard Worker@ CHECK: asr	r2, r4, #2              @ encoding: [0x44,0x21,0xa0,0xe1]
444*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
445*9880d681SAndroid Build Coastguard Worker@ CHECK: asr	r4, r4, #2              @ encoding: [0x44,0x41,0xa0,0xe1]
446*9880d681SAndroid Build Coastguard Worker
447*9880d681SAndroid Build Coastguard Worker
448*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
449*9880d681SAndroid Build Coastguard Worker@ B
450*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
451*9880d681SAndroid Build Coastguard Worker        b _bar
452*9880d681SAndroid Build Coastguard Worker        beq _baz
453*9880d681SAndroid Build Coastguard Worker
454*9880d681SAndroid Build Coastguard Worker@ CHECK: b	_bar                    @ encoding: [A,A,A,0xea]
455*9880d681SAndroid Build Coastguard Worker@ CHECK: @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch
456*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: b	_bar                    @ encoding: [0xea,A,A,A]
457*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch
458*9880d681SAndroid Build Coastguard Worker@ CHECK: beq	_baz                    @ encoding: [A,A,A,0x0a]
459*9880d681SAndroid Build Coastguard Worker@ CHECK: @   fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch
460*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: beq	_baz                    @ encoding: [0x0a,A,A,A]
461*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: @   fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch
462*9880d681SAndroid Build Coastguard Worker
463*9880d681SAndroid Build Coastguard Worker
464*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
465*9880d681SAndroid Build Coastguard Worker@ BFC
466*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
467*9880d681SAndroid Build Coastguard Worker        bfc r5, #3, #17
468*9880d681SAndroid Build Coastguard Worker        bfccc r5, #3, #17
469*9880d681SAndroid Build Coastguard Worker
470*9880d681SAndroid Build Coastguard Worker@ CHECK: bfc	r5, #3, #17             @ encoding: [0x9f,0x51,0xd3,0xe7]
471*9880d681SAndroid Build Coastguard Worker@ CHECK: bfclo	r5, #3, #17             @ encoding: [0x9f,0x51,0xd3,0x37]
472*9880d681SAndroid Build Coastguard Worker
473*9880d681SAndroid Build Coastguard Worker
474*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
475*9880d681SAndroid Build Coastguard Worker@ BFI
476*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
477*9880d681SAndroid Build Coastguard Worker        bfi r5, r2, #3, #17
478*9880d681SAndroid Build Coastguard Worker        bfine r5, r2, #3, #17
479*9880d681SAndroid Build Coastguard Worker
480*9880d681SAndroid Build Coastguard Worker@ CHECK: bfi	r5, r2, #3, #17         @ encoding: [0x92,0x51,0xd3,0xe7]
481*9880d681SAndroid Build Coastguard Worker@ CHECK: bfine	r5, r2, #3, #17         @ encoding: [0x92,0x51,0xd3,0x17]
482*9880d681SAndroid Build Coastguard Worker
483*9880d681SAndroid Build Coastguard Worker
484*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
485*9880d681SAndroid Build Coastguard Worker@ BIC
486*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
487*9880d681SAndroid Build Coastguard Worker        bic r10, r1, #0xf
488*9880d681SAndroid Build Coastguard Worker        bic r10, r1, $0xf
489*9880d681SAndroid Build Coastguard Worker        bic r10, r1, 0xf
490*9880d681SAndroid Build Coastguard Worker        bic r10, r1, -0xf
491*9880d681SAndroid Build Coastguard Worker        bic r7, r8, #(0xff << 16)
492*9880d681SAndroid Build Coastguard Worker        bic r7, r8, #-2147483638
493*9880d681SAndroid Build Coastguard Worker        bic r7, r8, #42, #2
494*9880d681SAndroid Build Coastguard Worker        bic r7, r8, #40, #2
495*9880d681SAndroid Build Coastguard Worker        bic r7, r8, $40, $2
496*9880d681SAndroid Build Coastguard Worker        bic r7, r8, 40, 2
497*9880d681SAndroid Build Coastguard Worker        bic r7, r8, (2 * 20), (1 << 1)
498*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6
499*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6, lsl #10
500*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6, lsr #10
501*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6, lsr #10
502*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6, asr #10
503*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6, ror #10
504*9880d681SAndroid Build Coastguard Worker        bic r6, r7, r8, lsl r2
505*9880d681SAndroid Build Coastguard Worker        bic r6, r7, r8, lsr r2
506*9880d681SAndroid Build Coastguard Worker        bic r6, r7, r8, asr r2
507*9880d681SAndroid Build Coastguard Worker        bic r6, r7, r8, ror r2
508*9880d681SAndroid Build Coastguard Worker        bic r10, r1, r6, rrx
509*9880d681SAndroid Build Coastguard Worker        bic r2, r3, #0x7fffffff
510*9880d681SAndroid Build Coastguard Worker        bic sp, sp, #0x7fffffff
511*9880d681SAndroid Build Coastguard Worker        bic pc, pc, #0x7fffffff
512*9880d681SAndroid Build Coastguard Worker
513*9880d681SAndroid Build Coastguard Worker
514*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
515*9880d681SAndroid Build Coastguard Worker        bic r1, #0xf
516*9880d681SAndroid Build Coastguard Worker        bic r1, $0xf
517*9880d681SAndroid Build Coastguard Worker        bic r1, 0xf
518*9880d681SAndroid Build Coastguard Worker        bic r1, -0xf
519*9880d681SAndroid Build Coastguard Worker        bic r7, #(0xff << 16)
520*9880d681SAndroid Build Coastguard Worker        bic r7, #-2147483638
521*9880d681SAndroid Build Coastguard Worker        bic r7, #42, #2
522*9880d681SAndroid Build Coastguard Worker        bic r7, #40, #2
523*9880d681SAndroid Build Coastguard Worker        bic r7, $40, $2
524*9880d681SAndroid Build Coastguard Worker        bic r7, 40, 2
525*9880d681SAndroid Build Coastguard Worker        bic r7, (2 * 20), (1 << 1)
526*9880d681SAndroid Build Coastguard Worker        bic r10, r1
527*9880d681SAndroid Build Coastguard Worker        bic r10, r1, lsl #10
528*9880d681SAndroid Build Coastguard Worker        bic r10, r1, lsr #10
529*9880d681SAndroid Build Coastguard Worker        bic r10, r1, lsr #10
530*9880d681SAndroid Build Coastguard Worker        bic r10, r1, asr #10
531*9880d681SAndroid Build Coastguard Worker        bic r10, r1, ror #10
532*9880d681SAndroid Build Coastguard Worker        bic r6, r7, lsl r2
533*9880d681SAndroid Build Coastguard Worker        bic r6, r7, lsr r2
534*9880d681SAndroid Build Coastguard Worker        bic r6, r7, asr r2
535*9880d681SAndroid Build Coastguard Worker        bic r6, r7, ror r2
536*9880d681SAndroid Build Coastguard Worker        bic r10, r1, rrx
537*9880d681SAndroid Build Coastguard Worker
538*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, #15            @ encoding: [0x0f,0xa0,0xc1,0xe3]
539*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, #15            @ encoding: [0x0f,0xa0,0xc1,0xe3]
540*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, #15            @ encoding: [0x0f,0xa0,0xc1,0xe3]
541*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r10, r1, #14            @ encoding: [0x0e,0xa0,0x01,0xe2]
542*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r7, r8, #16711680       @ encoding: [0xff,0x78,0xc8,0xe3]
543*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xc8,0xe3]
544*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xc8,0xe3]
545*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe3]
546*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe3]
547*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe3]
548*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6             @ encoding: [0x06,0xa0,0xc1,0xe1]
549*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6, lsl #10    @ encoding: [0x06,0xa5,0xc1,0xe1]
550*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0xc1,0xe1]
551*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6, lsr #10    @ encoding: [0x26,0xa5,0xc1,0xe1]
552*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6, asr #10    @ encoding: [0x46,0xa5,0xc1,0xe1]
553*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6, ror #10    @ encoding: [0x66,0xa5,0xc1,0xe1]
554*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r7, r8, lsl r2      @ encoding: [0x18,0x62,0xc7,0xe1]
555*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r7, r8, lsr r2      @ encoding: [0x38,0x62,0xc7,0xe1]
556*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r7, r8, asr r2      @ encoding: [0x58,0x62,0xc7,0xe1]
557*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r7, r8, ror r2      @ encoding: [0x78,0x62,0xc7,0xe1]
558*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r1, r6, rrx        @ encoding: [0x66,0xa0,0xc1,0xe1]
559*9880d681SAndroid Build Coastguard Worker@ CHECK: and  r2, r3, #-2147483648    @ encoding: [0x02,0x21,0x03,0xe2]
560*9880d681SAndroid Build Coastguard Worker@ CHECK: and  sp, sp, #-2147483648    @ encoding: [0x02,0xd1,0x0d,0xe2]
561*9880d681SAndroid Build Coastguard Worker@ CHECK: and  pc, pc, #-2147483648    @ encoding: [0x02,0xf1,0x0f,0xe2]
562*9880d681SAndroid Build Coastguard Worker
563*9880d681SAndroid Build Coastguard Worker
564*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r1, r1, #15             @ encoding: [0x0f,0x10,0xc1,0xe3]
565*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r1, r1, #15             @ encoding: [0x0f,0x10,0xc1,0xe3]
566*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r1, r1, #15             @ encoding: [0x0f,0x10,0xc1,0xe3]
567*9880d681SAndroid Build Coastguard Worker@ CHECK: and	r1, r1, #14             @ encoding: [0x0e,0x10,0x01,0xe2]
568*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r7, r7, #16711680       @ encoding: [0xff,0x78,0xc7,0xe3]
569*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0xc7,0xe3]
570*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0xc7,0xe3]
571*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe3]
572*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe3]
573*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe3]
574*9880d681SAndroid Build Coastguard Worker@ CHECK: bic    r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe3]
575*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1            @ encoding: [0x01,0xa0,0xca,0xe1]
576*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1, lsl #10   @ encoding: [0x01,0xa5,0xca,0xe1]
577*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0xca,0xe1]
578*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1, lsr #10   @ encoding: [0x21,0xa5,0xca,0xe1]
579*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1, asr #10   @ encoding: [0x41,0xa5,0xca,0xe1]
580*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1, ror #10   @ encoding: [0x61,0xa5,0xca,0xe1]
581*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r6, r7, lsl r2      @ encoding: [0x17,0x62,0xc6,0xe1]
582*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r6, r7, lsr r2      @ encoding: [0x37,0x62,0xc6,0xe1]
583*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r6, r7, asr r2      @ encoding: [0x57,0x62,0xc6,0xe1]
584*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r6, r6, r7, ror r2      @ encoding: [0x77,0x62,0xc6,0xe1]
585*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r10, r10, r1, rrx       @ encoding: [0x61,0xa0,0xca,0xe1]
586*9880d681SAndroid Build Coastguard Worker
587*9880d681SAndroid Build Coastguard Worker    @ Test right shift by 32, which is encoded as 0
588*9880d681SAndroid Build Coastguard Worker    bic r3, r1, r2, lsr #32
589*9880d681SAndroid Build Coastguard Worker    bic r3, r1, r2, asr #32
590*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r3, r1, r2, lsr #32     @ encoding: [0x22,0x30,0xc1,0xe1]
591*9880d681SAndroid Build Coastguard Worker@ CHECK: bic	r3, r1, r2, asr #32     @ encoding: [0x42,0x30,0xc1,0xe1]
592*9880d681SAndroid Build Coastguard Worker
593*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
594*9880d681SAndroid Build Coastguard Worker@ BKPT
595*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
596*9880d681SAndroid Build Coastguard Worker        bkpt #10
597*9880d681SAndroid Build Coastguard Worker        bkpt #65535
598*9880d681SAndroid Build Coastguard Worker
599*9880d681SAndroid Build Coastguard Worker@ CHECK: bkpt  #10                      @ encoding: [0x7a,0x00,0x20,0xe1]
600*9880d681SAndroid Build Coastguard Worker@ CHECK: bkpt  #65535                   @ encoding: [0x7f,0xff,0x2f,0xe1]
601*9880d681SAndroid Build Coastguard Worker
602*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
603*9880d681SAndroid Build Coastguard Worker@ BL/BLX (immediate)
604*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
605*9880d681SAndroid Build Coastguard Worker
606*9880d681SAndroid Build Coastguard Worker        bl _bar
607*9880d681SAndroid Build Coastguard Worker        bleq _bar
608*9880d681SAndroid Build Coastguard Worker        blx _bar
609*9880d681SAndroid Build Coastguard Worker        blls #28634268
610*9880d681SAndroid Build Coastguard Worker        blx	#32424576
611*9880d681SAndroid Build Coastguard Worker        blx	#16212288
612*9880d681SAndroid Build Coastguard Worker
613*9880d681SAndroid Build Coastguard Worker@ CHECK: bl  _bar @ encoding: [A,A,A,0xeb]
614*9880d681SAndroid Build Coastguard Worker@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbl
615*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: bl  _bar @ encoding: [0xeb,A,A,A]
616*9880d681SAndroid Build Coastguard Worker@ CHECK-BE:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbl
617*9880d681SAndroid Build Coastguard Worker@ CHECK: bleq  _bar @ encoding: [A,A,A,0x0b]
618*9880d681SAndroid Build Coastguard Worker@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_condbl
619*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: bleq  _bar @ encoding: [0x0b,A,A,A]
620*9880d681SAndroid Build Coastguard Worker@ CHECK-BE:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_condbl
621*9880d681SAndroid Build Coastguard Worker@ CHECK: blx	_bar @ encoding: [A,A,A,0xfa]
622*9880d681SAndroid Build Coastguard Worker@ CHECK:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_blx
623*9880d681SAndroid Build Coastguard Worker@ CHECK-BE: blx	_bar @ encoding: [0xfa,A,A,A]
624*9880d681SAndroid Build Coastguard Worker@ CHECK-BE:   @   fixup A - offset: 0, value: _bar, kind: fixup_arm_blx
625*9880d681SAndroid Build Coastguard Worker@ CHECK: blls	#28634268               @ encoding: [0x27,0x3b,0x6d,0x9b]
626*9880d681SAndroid Build Coastguard Worker@ CHECK: blx	#32424576               @ encoding: [0xa0,0xb0,0x7b,0xfa]
627*9880d681SAndroid Build Coastguard Worker@ CHECK: blx	#16212288               @ encoding: [0x50,0xd8,0x3d,0xfa]
628*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
629*9880d681SAndroid Build Coastguard Worker@ BLX (register)
630*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
631*9880d681SAndroid Build Coastguard Worker        blx r2
632*9880d681SAndroid Build Coastguard Worker        blxne r2
633*9880d681SAndroid Build Coastguard Worker
634*9880d681SAndroid Build Coastguard Worker@ CHECK: blx r2                         @ encoding: [0x32,0xff,0x2f,0xe1]
635*9880d681SAndroid Build Coastguard Worker@ CHECK: blxne r2                       @ encoding: [0x32,0xff,0x2f,0x11]
636*9880d681SAndroid Build Coastguard Worker
637*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
638*9880d681SAndroid Build Coastguard Worker@ BX
639*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
640*9880d681SAndroid Build Coastguard Worker        bx r2
641*9880d681SAndroid Build Coastguard Worker        bxne r2
642*9880d681SAndroid Build Coastguard Worker
643*9880d681SAndroid Build Coastguard Worker@ CHECK: bx	r2                      @ encoding: [0x12,0xff,0x2f,0xe1]
644*9880d681SAndroid Build Coastguard Worker@ CHECK: bxne	r2                      @ encoding: [0x12,0xff,0x2f,0x11]
645*9880d681SAndroid Build Coastguard Worker
646*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
647*9880d681SAndroid Build Coastguard Worker@ BXJ
648*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
649*9880d681SAndroid Build Coastguard Worker        bxj r2
650*9880d681SAndroid Build Coastguard Worker        bxjne r2
651*9880d681SAndroid Build Coastguard Worker
652*9880d681SAndroid Build Coastguard Worker@ CHECK: bxj	r2                      @ encoding: [0x22,0xff,0x2f,0xe1]
653*9880d681SAndroid Build Coastguard Worker@ CHECK: bxjne	r2                      @ encoding: [0x22,0xff,0x2f,0x11]
654*9880d681SAndroid Build Coastguard Worker
655*9880d681SAndroid Build Coastguard Worker
656*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
657*9880d681SAndroid Build Coastguard Worker@ CDP/CDP2
658*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
659*9880d681SAndroid Build Coastguard Worker        cdp  p7, #1, c1, c1, c1, #4
660*9880d681SAndroid Build Coastguard Worker        cdp2  p7, #1, c1, c1, c1, #4
661*9880d681SAndroid Build Coastguard Worker        cdp2   p12, #0, c6, c12, c0, #7
662*9880d681SAndroid Build Coastguard Worker
663*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp  p7, #1, c1, c1, c1, #4     @ encoding: [0x81,0x17,0x11,0xee]
664*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp2  p7, #1, c1, c1, c1, #4    @ encoding: [0x81,0x17,0x11,0xfe]
665*9880d681SAndroid Build Coastguard Worker@ CHECK: cdp2  p12, #0, c6, c12, c0, #7   @ encoding: [0xe0,0x6c,0x0c,0xfe]
666*9880d681SAndroid Build Coastguard Worker
667*9880d681SAndroid Build Coastguard Worker        cdpne  p7, #1, c1, c1, c1, #4
668*9880d681SAndroid Build Coastguard Worker@ CHECK: cdpne  p7, #1, c1, c1, c1, #4     @ encoding: [0x81,0x17,0x11,0x1e]
669*9880d681SAndroid Build Coastguard Worker
670*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
671*9880d681SAndroid Build Coastguard Worker@ CLREX
672*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
673*9880d681SAndroid Build Coastguard Worker        clrex
674*9880d681SAndroid Build Coastguard Worker
675*9880d681SAndroid Build Coastguard Worker@ CHECK: clrex                           @ encoding: [0x1f,0xf0,0x7f,0xf5]
676*9880d681SAndroid Build Coastguard Worker
677*9880d681SAndroid Build Coastguard Worker
678*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
679*9880d681SAndroid Build Coastguard Worker@ CLZ
680*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
681*9880d681SAndroid Build Coastguard Worker    clz r1, r2
682*9880d681SAndroid Build Coastguard Worker    clzeq r1, r2
683*9880d681SAndroid Build Coastguard Worker
684*9880d681SAndroid Build Coastguard Worker@ CHECK: clz r1, r2                      @ encoding: [0x12,0x1f,0x6f,0xe1]
685*9880d681SAndroid Build Coastguard Worker@ CHECK: clzeq r1, r2                    @ encoding: [0x12,0x1f,0x6f,0x01]
686*9880d681SAndroid Build Coastguard Worker
687*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
688*9880d681SAndroid Build Coastguard Worker@ CMN
689*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
690*9880d681SAndroid Build Coastguard Worker        cmn r1, #0xf
691*9880d681SAndroid Build Coastguard Worker        cmn r1, $0xf
692*9880d681SAndroid Build Coastguard Worker        cmn r1, 0xf
693*9880d681SAndroid Build Coastguard Worker        cmn r1, -0xf
694*9880d681SAndroid Build Coastguard Worker        cmn r7, #(0xff << 16)
695*9880d681SAndroid Build Coastguard Worker        cmn r7, #-2147483638
696*9880d681SAndroid Build Coastguard Worker        cmn r7, #42, #2
697*9880d681SAndroid Build Coastguard Worker        cmn r7, #40, #2
698*9880d681SAndroid Build Coastguard Worker        cmn r7, $40, $2
699*9880d681SAndroid Build Coastguard Worker        cmn r7, 40, 2
700*9880d681SAndroid Build Coastguard Worker        cmn r7, (20 * 2), (1 << 1)
701*9880d681SAndroid Build Coastguard Worker        cmn r1, r6
702*9880d681SAndroid Build Coastguard Worker        cmn r1, r6, lsl #10
703*9880d681SAndroid Build Coastguard Worker        cmn r1, r6, lsr #10
704*9880d681SAndroid Build Coastguard Worker        cmn sp, r6, lsr #10
705*9880d681SAndroid Build Coastguard Worker        cmn r1, r6, asr #10
706*9880d681SAndroid Build Coastguard Worker        cmn r1, r6, ror #10
707*9880d681SAndroid Build Coastguard Worker        cmn r7, r8, lsl r2
708*9880d681SAndroid Build Coastguard Worker        cmn sp, r8, lsr r2
709*9880d681SAndroid Build Coastguard Worker        cmn r7, r8, asr r2
710*9880d681SAndroid Build Coastguard Worker        cmn r7, r8, ror r2
711*9880d681SAndroid Build Coastguard Worker        cmn r1, r6, rrx
712*9880d681SAndroid Build Coastguard Worker
713*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, #15                 @ encoding: [0x0f,0x00,0x71,0xe3]
714*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, #15                 @ encoding: [0x0f,0x00,0x71,0xe3]
715*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, #15                 @ encoding: [0x0f,0x00,0x71,0xe3]
716*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, #15                 @ encoding: [0x0f,0x00,0x51,0xe3]
717*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #16711680           @ encoding: [0xff,0x08,0x77,0xe3]
718*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #-2147483638        @ encoding: [0x2a,0x01,0x77,0xe3]
719*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #-2147483638        @ encoding: [0x2a,0x01,0x77,0xe3]
720*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #40, #2             @ encoding: [0x28,0x01,0x77,0xe3]
721*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #40, #2             @ encoding: [0x28,0x01,0x77,0xe3]
722*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #40, #2             @ encoding: [0x28,0x01,0x77,0xe3]
723*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, #40, #2             @ encoding: [0x28,0x01,0x77,0xe3]
724*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, r6                  @ encoding: [0x06,0x00,0x71,0xe1]
725*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, r6, lsl #10         @ encoding: [0x06,0x05,0x71,0xe1]
726*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, r6, lsr #10         @ encoding: [0x26,0x05,0x71,0xe1]
727*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	sp, r6, lsr #10         @ encoding: [0x26,0x05,0x7d,0xe1]
728*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, r6, asr #10         @ encoding: [0x46,0x05,0x71,0xe1]
729*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, r6, ror #10         @ encoding: [0x66,0x05,0x71,0xe1]
730*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, r8, lsl r2          @ encoding: [0x18,0x02,0x77,0xe1]
731*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	sp, r8, lsr r2          @ encoding: [0x38,0x02,0x7d,0xe1]
732*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, r8, asr r2          @ encoding: [0x58,0x02,0x77,0xe1]
733*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r7, r8, ror r2          @ encoding: [0x78,0x02,0x77,0xe1]
734*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, r6, rrx             @ encoding: [0x66,0x00,0x71,0xe1]
735*9880d681SAndroid Build Coastguard Worker
736*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
737*9880d681SAndroid Build Coastguard Worker@ CMP
738*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
739*9880d681SAndroid Build Coastguard Worker        cmp r1, #0xf
740*9880d681SAndroid Build Coastguard Worker        cmp r1, $0xf
741*9880d681SAndroid Build Coastguard Worker        cmp r1, 0xf
742*9880d681SAndroid Build Coastguard Worker        cmp r1, -0xf
743*9880d681SAndroid Build Coastguard Worker        cmp r7, #(0xff << 16)
744*9880d681SAndroid Build Coastguard Worker        cmp r7, #-2147483638
745*9880d681SAndroid Build Coastguard Worker        cmp r7, #42, #2
746*9880d681SAndroid Build Coastguard Worker        cmp r7, #40, #2
747*9880d681SAndroid Build Coastguard Worker        cmp r7, $40, $2
748*9880d681SAndroid Build Coastguard Worker        cmp r7, 40, 2
749*9880d681SAndroid Build Coastguard Worker        cmp r7, (2 * 20), (1 << 1)
750*9880d681SAndroid Build Coastguard Worker        cmp r1, r6
751*9880d681SAndroid Build Coastguard Worker        cmp r1, r6, lsl #10
752*9880d681SAndroid Build Coastguard Worker        cmp r1, r6, lsr #10
753*9880d681SAndroid Build Coastguard Worker        cmp sp, r6, lsr #10
754*9880d681SAndroid Build Coastguard Worker        cmp r1, r6, asr #10
755*9880d681SAndroid Build Coastguard Worker        cmp r1, r6, ror #10
756*9880d681SAndroid Build Coastguard Worker        cmp r7, r8, lsl r2
757*9880d681SAndroid Build Coastguard Worker        cmp sp, r8, lsr r2
758*9880d681SAndroid Build Coastguard Worker        cmp r7, r8, asr r2
759*9880d681SAndroid Build Coastguard Worker        cmp r7, r8, ror r2
760*9880d681SAndroid Build Coastguard Worker        cmp r1, r6, rrx
761*9880d681SAndroid Build Coastguard Worker        cmp r0, #-2
762*9880d681SAndroid Build Coastguard Worker        cmp lr, #0
763*9880d681SAndroid Build Coastguard Worker
764*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, #15                 @ encoding: [0x0f,0x00,0x51,0xe3]
765*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, #15                 @ encoding: [0x0f,0x00,0x51,0xe3]
766*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, #15                 @ encoding: [0x0f,0x00,0x51,0xe3]
767*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r1, #15                 @ encoding: [0x0f,0x00,0x71,0xe3]
768*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r7, #16711680           @ encoding: [0xff,0x08,0x57,0xe3]
769*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r7, #-2147483638        @ encoding: [0x2a,0x01,0x57,0xe3]
770*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r7, #-2147483638        @ encoding: [0x2a,0x01,0x57,0xe3]
771*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp    r7, #40, #2             @ encoding: [0x28,0x01,0x57,0xe3]
772*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp    r7, #40, #2             @ encoding: [0x28,0x01,0x57,0xe3]
773*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp    r7, #40, #2             @ encoding: [0x28,0x01,0x57,0xe3]
774*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp    r7, #40, #2             @ encoding: [0x28,0x01,0x57,0xe3]
775*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, r6                  @ encoding: [0x06,0x00,0x51,0xe1]
776*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, r6, lsl #10         @ encoding: [0x06,0x05,0x51,0xe1]
777*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, r6, lsr #10         @ encoding: [0x26,0x05,0x51,0xe1]
778*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	sp, r6, lsr #10         @ encoding: [0x26,0x05,0x5d,0xe1]
779*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, r6, asr #10         @ encoding: [0x46,0x05,0x51,0xe1]
780*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, r6, ror #10         @ encoding: [0x66,0x05,0x51,0xe1]
781*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r7, r8, lsl r2          @ encoding: [0x18,0x02,0x57,0xe1]
782*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	sp, r8, lsr r2          @ encoding: [0x38,0x02,0x5d,0xe1]
783*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r7, r8, asr r2          @ encoding: [0x58,0x02,0x57,0xe1]
784*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r7, r8, ror r2          @ encoding: [0x78,0x02,0x57,0xe1]
785*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp	r1, r6, rrx             @ encoding: [0x66,0x00,0x51,0xe1]
786*9880d681SAndroid Build Coastguard Worker@ CHECK: cmn	r0, #2                  @ encoding: [0x02,0x00,0x70,0xe3]
787*9880d681SAndroid Build Coastguard Worker@ CHECK: cmp  lr, #0                    @ encoding: [0x00,0x00,0x5e,0xe3]
788*9880d681SAndroid Build Coastguard Worker
789*9880d681SAndroid Build Coastguard Worker
790*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
791*9880d681SAndroid Build Coastguard Worker@ CPS
792*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
793*9880d681SAndroid Build Coastguard Worker        cpsie  aif
794*9880d681SAndroid Build Coastguard Worker        cps  #15
795*9880d681SAndroid Build Coastguard Worker        cpsid  if, #10
796*9880d681SAndroid Build Coastguard Worker
797*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsie  aif @ encoding: [0xc0,0x01,0x08,0xf1]
798*9880d681SAndroid Build Coastguard Worker@ CHECK: cps  #15 @ encoding: [0x0f,0x00,0x02,0xf1]
799*9880d681SAndroid Build Coastguard Worker@ CHECK: cpsid  if, #10 @ encoding: [0xca,0x00,0x0e,0xf1]
800*9880d681SAndroid Build Coastguard Worker
801*9880d681SAndroid Build Coastguard Worker
802*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
803*9880d681SAndroid Build Coastguard Worker@ DBG
804*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
805*9880d681SAndroid Build Coastguard Worker        dbg #0
806*9880d681SAndroid Build Coastguard Worker        dbg #5
807*9880d681SAndroid Build Coastguard Worker        dbg #15
808*9880d681SAndroid Build Coastguard Worker
809*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #0                         @ encoding: [0xf0,0xf0,0x20,0xe3]
810*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #5                         @ encoding: [0xf5,0xf0,0x20,0xe3]
811*9880d681SAndroid Build Coastguard Worker@ CHECK: dbg #15                        @ encoding: [0xff,0xf0,0x20,0xe3]
812*9880d681SAndroid Build Coastguard Worker
813*9880d681SAndroid Build Coastguard Worker
814*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
815*9880d681SAndroid Build Coastguard Worker@ DMB
816*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
817*9880d681SAndroid Build Coastguard Worker        dmb #0xf
818*9880d681SAndroid Build Coastguard Worker        dmb #0xe
819*9880d681SAndroid Build Coastguard Worker        dmb #0xd
820*9880d681SAndroid Build Coastguard Worker        dmb #0xc
821*9880d681SAndroid Build Coastguard Worker        dmb #0xb
822*9880d681SAndroid Build Coastguard Worker        dmb #0xa
823*9880d681SAndroid Build Coastguard Worker        dmb #0x9
824*9880d681SAndroid Build Coastguard Worker        dmb #0x8
825*9880d681SAndroid Build Coastguard Worker        dmb #0x7
826*9880d681SAndroid Build Coastguard Worker        dmb #0x6
827*9880d681SAndroid Build Coastguard Worker        dmb #0x5
828*9880d681SAndroid Build Coastguard Worker        dmb #0x4
829*9880d681SAndroid Build Coastguard Worker        dmb #0x3
830*9880d681SAndroid Build Coastguard Worker        dmb #0x2
831*9880d681SAndroid Build Coastguard Worker        dmb #0x1
832*9880d681SAndroid Build Coastguard Worker        dmb #0x0
833*9880d681SAndroid Build Coastguard Worker
834*9880d681SAndroid Build Coastguard Worker        dmb sy
835*9880d681SAndroid Build Coastguard Worker        dmb st
836*9880d681SAndroid Build Coastguard Worker        dmb sh
837*9880d681SAndroid Build Coastguard Worker        dmb ish
838*9880d681SAndroid Build Coastguard Worker        dmb shst
839*9880d681SAndroid Build Coastguard Worker        dmb ishst
840*9880d681SAndroid Build Coastguard Worker        dmb un
841*9880d681SAndroid Build Coastguard Worker        dmb nsh
842*9880d681SAndroid Build Coastguard Worker        dmb unst
843*9880d681SAndroid Build Coastguard Worker        dmb nshst
844*9880d681SAndroid Build Coastguard Worker        dmb osh
845*9880d681SAndroid Build Coastguard Worker        dmb oshst
846*9880d681SAndroid Build Coastguard Worker        dmb
847*9880d681SAndroid Build Coastguard Worker
848*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
849*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	st                      @ encoding: [0x5e,0xf0,0x7f,0xf5]
850*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0xd                    @ encoding: [0x5d,0xf0,0x7f,0xf5]
851*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0xc                    @ encoding: [0x5c,0xf0,0x7f,0xf5]
852*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
853*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
854*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0x9                    @ encoding: [0x59,0xf0,0x7f,0xf5]
855*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0x8                    @ encoding: [0x58,0xf0,0x7f,0xf5]
856*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
857*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
858*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0x5                    @ encoding: [0x55,0xf0,0x7f,0xf5]
859*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0x4                    @ encoding: [0x54,0xf0,0x7f,0xf5]
860*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	osh                     @ encoding: [0x53,0xf0,0x7f,0xf5]
861*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	oshst                   @ encoding: [0x52,0xf0,0x7f,0xf5]
862*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0x1                    @ encoding: [0x51,0xf0,0x7f,0xf5]
863*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	#0x0                    @ encoding: [0x50,0xf0,0x7f,0xf5]
864*9880d681SAndroid Build Coastguard Worker
865*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
866*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	st                      @ encoding: [0x5e,0xf0,0x7f,0xf5]
867*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
868*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	ish                     @ encoding: [0x5b,0xf0,0x7f,0xf5]
869*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
870*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	ishst                   @ encoding: [0x5a,0xf0,0x7f,0xf5]
871*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
872*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	nsh                     @ encoding: [0x57,0xf0,0x7f,0xf5]
873*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
874*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	nshst                   @ encoding: [0x56,0xf0,0x7f,0xf5]
875*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	osh                     @ encoding: [0x53,0xf0,0x7f,0xf5]
876*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	oshst                   @ encoding: [0x52,0xf0,0x7f,0xf5]
877*9880d681SAndroid Build Coastguard Worker@ CHECK: dmb	sy                      @ encoding: [0x5f,0xf0,0x7f,0xf5]
878*9880d681SAndroid Build Coastguard Worker
879*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
880*9880d681SAndroid Build Coastguard Worker@ DSB
881*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
882*9880d681SAndroid Build Coastguard Worker        dsb #0xf
883*9880d681SAndroid Build Coastguard Worker        dsb #0xe
884*9880d681SAndroid Build Coastguard Worker        dsb #0xd
885*9880d681SAndroid Build Coastguard Worker        dsb #0xc
886*9880d681SAndroid Build Coastguard Worker        dsb #0xb
887*9880d681SAndroid Build Coastguard Worker        dsb #0xa
888*9880d681SAndroid Build Coastguard Worker        dsb #0x9
889*9880d681SAndroid Build Coastguard Worker        dsb #0x8
890*9880d681SAndroid Build Coastguard Worker        dsb #0x7
891*9880d681SAndroid Build Coastguard Worker        dsb #0x6
892*9880d681SAndroid Build Coastguard Worker        dsb #0x5
893*9880d681SAndroid Build Coastguard Worker        dsb #0x4
894*9880d681SAndroid Build Coastguard Worker        dsb #0x3
895*9880d681SAndroid Build Coastguard Worker        dsb #0x2
896*9880d681SAndroid Build Coastguard Worker        dsb #0x1
897*9880d681SAndroid Build Coastguard Worker        dsb #0x0
898*9880d681SAndroid Build Coastguard Worker
899*9880d681SAndroid Build Coastguard Worker        dsb 8
900*9880d681SAndroid Build Coastguard Worker        dsb 7
901*9880d681SAndroid Build Coastguard Worker
902*9880d681SAndroid Build Coastguard Worker        dsb sy
903*9880d681SAndroid Build Coastguard Worker        dsb st
904*9880d681SAndroid Build Coastguard Worker        dsb sh
905*9880d681SAndroid Build Coastguard Worker        dsb ish
906*9880d681SAndroid Build Coastguard Worker        dsb shst
907*9880d681SAndroid Build Coastguard Worker        dsb ishst
908*9880d681SAndroid Build Coastguard Worker        dsb un
909*9880d681SAndroid Build Coastguard Worker        dsb nsh
910*9880d681SAndroid Build Coastguard Worker        dsb unst
911*9880d681SAndroid Build Coastguard Worker        dsb nshst
912*9880d681SAndroid Build Coastguard Worker        dsb osh
913*9880d681SAndroid Build Coastguard Worker        dsb oshst
914*9880d681SAndroid Build Coastguard Worker        dsb
915*9880d681SAndroid Build Coastguard Worker
916*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
917*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	st                      @ encoding: [0x4e,0xf0,0x7f,0xf5]
918*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0xd                    @ encoding: [0x4d,0xf0,0x7f,0xf5]
919*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0xc                    @ encoding: [0x4c,0xf0,0x7f,0xf5]
920*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
921*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
922*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x9                    @ encoding: [0x49,0xf0,0x7f,0xf5]
923*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x8                    @ encoding: [0x48,0xf0,0x7f,0xf5]
924*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
925*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
926*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x5                    @ encoding: [0x45,0xf0,0x7f,0xf5]
927*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x4                    @ encoding: [0x44,0xf0,0x7f,0xf5]
928*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	osh                     @ encoding: [0x43,0xf0,0x7f,0xf5]
929*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	oshst                   @ encoding: [0x42,0xf0,0x7f,0xf5]
930*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x1                    @ encoding: [0x41,0xf0,0x7f,0xf5]
931*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x0                    @ encoding: [0x40,0xf0,0x7f,0xf5]
932*9880d681SAndroid Build Coastguard Worker
933*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	#0x8                    @ encoding: [0x48,0xf0,0x7f,0xf5]
934*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
935*9880d681SAndroid Build Coastguard Worker
936*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
937*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	st                      @ encoding: [0x4e,0xf0,0x7f,0xf5]
938*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
939*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	ish                     @ encoding: [0x4b,0xf0,0x7f,0xf5]
940*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
941*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	ishst                   @ encoding: [0x4a,0xf0,0x7f,0xf5]
942*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
943*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nsh                     @ encoding: [0x47,0xf0,0x7f,0xf5]
944*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
945*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	nshst                   @ encoding: [0x46,0xf0,0x7f,0xf5]
946*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	osh                     @ encoding: [0x43,0xf0,0x7f,0xf5]
947*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	oshst                   @ encoding: [0x42,0xf0,0x7f,0xf5]
948*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
949*9880d681SAndroid Build Coastguard Worker
950*9880d681SAndroid Build Coastguard Worker@ With capitals
951*9880d681SAndroid Build Coastguard Worker        dsb SY
952*9880d681SAndroid Build Coastguard Worker        dsb OSHST
953*9880d681SAndroid Build Coastguard Worker
954*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	sy                      @ encoding: [0x4f,0xf0,0x7f,0xf5]
955*9880d681SAndroid Build Coastguard Worker@ CHECK: dsb	oshst                   @ encoding: [0x42,0xf0,0x7f,0xf5]
956*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
957*9880d681SAndroid Build Coastguard Worker@ EOR
958*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
959*9880d681SAndroid Build Coastguard Worker        eor r4, r5, #0xf000
960*9880d681SAndroid Build Coastguard Worker        eor r4, r5, $0xf000
961*9880d681SAndroid Build Coastguard Worker        eor r4, r5, 0xf000
962*9880d681SAndroid Build Coastguard Worker        eor r7, r8, #(0xff << 16)
963*9880d681SAndroid Build Coastguard Worker        eor r7, r8, #-2147483638
964*9880d681SAndroid Build Coastguard Worker        eor r7, r8, #42, #2
965*9880d681SAndroid Build Coastguard Worker        eor r7, r8, #40, #2
966*9880d681SAndroid Build Coastguard Worker        eor r7, r8, $40, $2
967*9880d681SAndroid Build Coastguard Worker        eor r7, r8, 40, 2
968*9880d681SAndroid Build Coastguard Worker        eor r7, r8, (20 * 2), (1 << 1)
969*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6
970*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6, lsl #5
971*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6, lsr #5
972*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6, lsr #5
973*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6, asr #5
974*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6, ror #5
975*9880d681SAndroid Build Coastguard Worker        eor r6, r7, r8, lsl r9
976*9880d681SAndroid Build Coastguard Worker        eor r6, r7, r8, lsr r9
977*9880d681SAndroid Build Coastguard Worker        eor r6, r7, r8, asr r9
978*9880d681SAndroid Build Coastguard Worker        eor r6, r7, r8, ror r9
979*9880d681SAndroid Build Coastguard Worker        eor r4, r5, r6, rrx
980*9880d681SAndroid Build Coastguard Worker
981*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
982*9880d681SAndroid Build Coastguard Worker        eor r5, #0xf000
983*9880d681SAndroid Build Coastguard Worker        eor r5, $0xf000
984*9880d681SAndroid Build Coastguard Worker        eor r5, 0xf000
985*9880d681SAndroid Build Coastguard Worker        eor r7, #(0xff << 16)
986*9880d681SAndroid Build Coastguard Worker        eor r7, #-2147483638
987*9880d681SAndroid Build Coastguard Worker        eor r7, #42, #2
988*9880d681SAndroid Build Coastguard Worker        eor r7, #40, #2
989*9880d681SAndroid Build Coastguard Worker        eor r7, $40, $2
990*9880d681SAndroid Build Coastguard Worker        eor r7, 40, 2
991*9880d681SAndroid Build Coastguard Worker        eor r7, (20 * 2), (1 << 1)
992*9880d681SAndroid Build Coastguard Worker        eor r4, r5
993*9880d681SAndroid Build Coastguard Worker        eor r4, r5, lsl #5
994*9880d681SAndroid Build Coastguard Worker        eor r4, r5, lsr #5
995*9880d681SAndroid Build Coastguard Worker        eor r4, r5, lsr #5
996*9880d681SAndroid Build Coastguard Worker        eor r4, r5, asr #5
997*9880d681SAndroid Build Coastguard Worker        eor r4, r5, ror #5
998*9880d681SAndroid Build Coastguard Worker        eor r6, r7, lsl r9
999*9880d681SAndroid Build Coastguard Worker        eor r6, r7, lsr r9
1000*9880d681SAndroid Build Coastguard Worker        eor r6, r7, asr r9
1001*9880d681SAndroid Build Coastguard Worker        eor r6, r7, ror r9
1002*9880d681SAndroid Build Coastguard Worker        eor r4, r5, rrx
1003*9880d681SAndroid Build Coastguard Worker
1004*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x25,0xe2]
1005*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x25,0xe2]
1006*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x25,0xe2]
1007*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r8, #16711680       @ encoding: [0xff,0x78,0x28,0xe2]
1008*9880d681SAndroid Build Coastguard Worker@ CHECK: eor    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x28,0xe2]
1009*9880d681SAndroid Build Coastguard Worker@ CHECK: eor    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x28,0xe2]
1010*9880d681SAndroid Build Coastguard Worker@ CHECK: eor    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x28,0xe2]
1011*9880d681SAndroid Build Coastguard Worker@ CHECK: eor    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x28,0xe2]
1012*9880d681SAndroid Build Coastguard Worker@ CHECK: eor    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x28,0xe2]
1013*9880d681SAndroid Build Coastguard Worker@ CHECK: eor    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x28,0xe2]
1014*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6              @ encoding: [0x06,0x40,0x25,0xe0]
1015*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x25,0xe0]
1016*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x25,0xe0]
1017*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x25,0xe0]
1018*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x25,0xe0]
1019*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x25,0xe0]
1020*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x27,0xe0]
1021*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x27,0xe0]
1022*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x27,0xe0]
1023*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x27,0xe0]
1024*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x25,0xe0]
1025*9880d681SAndroid Build Coastguard Worker
1026*9880d681SAndroid Build Coastguard Worker
1027*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x25,0xe2]
1028*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x25,0xe2]
1029*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x25,0xe2]
1030*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #16711680       @ encoding: [0xff,0x78,0x27,0xe2]
1031*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x27,0xe2]
1032*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x27,0xe2]
1033*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x27,0xe2]
1034*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x27,0xe2]
1035*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x27,0xe2]
1036*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x27,0xe2]
1037*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5              @ encoding: [0x05,0x40,0x24,0xe0]
1038*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x24,0xe0]
1039*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x24,0xe0]
1040*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x24,0xe0]
1041*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x24,0xe0]
1042*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x24,0xe0]
1043*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x26,0xe0]
1044*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x26,0xe0]
1045*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x26,0xe0]
1046*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x26,0xe0]
1047*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x24,0xe0]
1048*9880d681SAndroid Build Coastguard Worker
1049*9880d681SAndroid Build Coastguard Worker    @ Test right shift by 32, which is encoded as 0
1050*9880d681SAndroid Build Coastguard Worker    eor r3, r1, r2, lsr #32
1051*9880d681SAndroid Build Coastguard Worker    eor r3, r1, r2, asr #32
1052*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r3, r1, r2, lsr #32     @ encoding: [0x22,0x30,0x21,0xe0]
1053*9880d681SAndroid Build Coastguard Worker@ CHECK: eor	r3, r1, r2, asr #32     @ encoding: [0x42,0x30,0x21,0xe0]
1054*9880d681SAndroid Build Coastguard Worker
1055*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1056*9880d681SAndroid Build Coastguard Worker@ ISB
1057*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1058*9880d681SAndroid Build Coastguard Worker        isb sy
1059*9880d681SAndroid Build Coastguard Worker        isb
1060*9880d681SAndroid Build Coastguard Worker        isb #15
1061*9880d681SAndroid Build Coastguard Worker        isb #1
1062*9880d681SAndroid Build Coastguard Worker
1063*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
1064*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
1065*9880d681SAndroid Build Coastguard Worker@ CHECK: isb sy                         @ encoding: [0x6f,0xf0,0x7f,0xf5]
1066*9880d681SAndroid Build Coastguard Worker@ CHECK: isb #0x1                       @ encoding: [0x61,0xf0,0x7f,0xf5]
1067*9880d681SAndroid Build Coastguard Worker
1068*9880d681SAndroid Build Coastguard Worker
1069*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1070*9880d681SAndroid Build Coastguard Worker@ LDC{L}/LDC2{L}
1071*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1072*9880d681SAndroid Build Coastguard Worker        ldc2 p0, c8, [r1, #4]
1073*9880d681SAndroid Build Coastguard Worker        ldc2 p1, c7, [r2]
1074*9880d681SAndroid Build Coastguard Worker        ldc2 p2, c6, [r3, #-224]
1075*9880d681SAndroid Build Coastguard Worker        ldc2 p3, c5, [r4, #-120]!
1076*9880d681SAndroid Build Coastguard Worker        ldc2 p4, c4, [r5], #16
1077*9880d681SAndroid Build Coastguard Worker        ldc2 p5, c3, [r6], #-72
1078*9880d681SAndroid Build Coastguard Worker        ldc2l p6, c2, [r7, #4]
1079*9880d681SAndroid Build Coastguard Worker        ldc2l p7, c1, [r8]
1080*9880d681SAndroid Build Coastguard Worker        ldc2l p8, c0, [r9, #-224]
1081*9880d681SAndroid Build Coastguard Worker        ldc2l p9, c1, [r10, #-120]!
1082*9880d681SAndroid Build Coastguard Worker        ldc2l p0, c2, [r11], #16
1083*9880d681SAndroid Build Coastguard Worker        ldc2l p1, c3, [r12], #-72
1084*9880d681SAndroid Build Coastguard Worker
1085*9880d681SAndroid Build Coastguard Worker        ldc p12, c4, [r0, #4]
1086*9880d681SAndroid Build Coastguard Worker        ldc p13, c5, [r1]
1087*9880d681SAndroid Build Coastguard Worker        ldc p14, c6, [r2, #-224]
1088*9880d681SAndroid Build Coastguard Worker        ldc p15, c7, [r3, #-120]!
1089*9880d681SAndroid Build Coastguard Worker        ldc p5, c8, [r4], #16
1090*9880d681SAndroid Build Coastguard Worker        ldc p4, c9, [r5], #-72
1091*9880d681SAndroid Build Coastguard Worker        ldcl p3, c10, [r6, #4]
1092*9880d681SAndroid Build Coastguard Worker        ldcl p2, c11, [r7]
1093*9880d681SAndroid Build Coastguard Worker        ldcl p1, c12, [r8, #-224]
1094*9880d681SAndroid Build Coastguard Worker        ldcl p0, c13, [r9, #-120]!
1095*9880d681SAndroid Build Coastguard Worker        ldcl p6, c14, [r10], #16
1096*9880d681SAndroid Build Coastguard Worker        ldcl p7, c15, [r11], #-72
1097*9880d681SAndroid Build Coastguard Worker
1098*9880d681SAndroid Build Coastguard Worker        ldclo p12, c4, [r0, #4]
1099*9880d681SAndroid Build Coastguard Worker        ldchi p13, c5, [r1]
1100*9880d681SAndroid Build Coastguard Worker        ldccs p14, c6, [r2, #-224]
1101*9880d681SAndroid Build Coastguard Worker        ldccc p15, c7, [r3, #-120]!
1102*9880d681SAndroid Build Coastguard Worker        ldceq p5, c8, [r4], #16
1103*9880d681SAndroid Build Coastguard Worker        ldcgt p4, c9, [r5], #-72
1104*9880d681SAndroid Build Coastguard Worker        ldcllt p3, c10, [r6, #4]
1105*9880d681SAndroid Build Coastguard Worker        ldclge p2, c11, [r7]
1106*9880d681SAndroid Build Coastguard Worker        ldclle p1, c12, [r8, #-224]
1107*9880d681SAndroid Build Coastguard Worker        ldclne p0, c13, [r9, #-120]!
1108*9880d681SAndroid Build Coastguard Worker        ldcleq p6, c14, [r10], #16
1109*9880d681SAndroid Build Coastguard Worker        ldclhi p7, c15, [r11], #-72
1110*9880d681SAndroid Build Coastguard Worker
1111*9880d681SAndroid Build Coastguard Worker        ldc2 p2, c8, [r1], { 25 }
1112*9880d681SAndroid Build Coastguard Worker
1113*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p0, c8, [r1, #4]        @ encoding: [0x01,0x80,0x91,0xfd]
1114*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p1, c7, [r2]            @ encoding: [0x00,0x71,0x92,0xfd]
1115*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p2, c6, [r3, #-224]     @ encoding: [0x38,0x62,0x13,0xfd]
1116*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p3, c5, [r4, #-120]!    @ encoding: [0x1e,0x53,0x34,0xfd]
1117*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p4, c4, [r5], #16       @ encoding: [0x04,0x44,0xb5,0xfc]
1118*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p5, c3, [r6], #-72      @ encoding: [0x12,0x35,0x36,0xfc]
1119*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l	p6, c2, [r7, #4]        @ encoding: [0x01,0x26,0xd7,0xfd]
1120*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l	p7, c1, [r8]            @ encoding: [0x00,0x17,0xd8,0xfd]
1121*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l	p8, c0, [r9, #-224]     @ encoding: [0x38,0x08,0x59,0xfd]
1122*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l	p9, c1, [r10, #-120]!   @ encoding: [0x1e,0x19,0x7a,0xfd]
1123*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l	p0, c2, [r11], #16      @ encoding: [0x04,0x20,0xfb,0xfc]
1124*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2l	p1, c3, [r12], #-72     @ encoding: [0x12,0x31,0x7c,0xfc]
1125*9880d681SAndroid Build Coastguard Worker
1126*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x90,0xed]
1127*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x91,0xed]
1128*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x12,0xed]
1129*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x33,0xed]
1130*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xb4,0xec]
1131*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x35,0xec]
1132*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xd6,0xed]
1133*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xd7,0xed]
1134*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x58,0xed]
1135*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x79,0xed]
1136*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xfa,0xec]
1137*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcl	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x7b,0xec]
1138*9880d681SAndroid Build Coastguard Worker
1139*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclo	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x90,0x3d]
1140*9880d681SAndroid Build Coastguard Worker@ CHECK: ldchi	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x91,0x8d]
1141*9880d681SAndroid Build Coastguard Worker@ CHECK: ldchs	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x12,0x2d]
1142*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclo	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x33,0x3d]
1143*9880d681SAndroid Build Coastguard Worker@ CHECK: ldceq	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xb4,0x0c]
1144*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcgt	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x35,0xcc]
1145*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcllt	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xd6,0xbd]
1146*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclge	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xd7,0xad]
1147*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclle	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x58,0xdd]
1148*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclne	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x79,0x1d]
1149*9880d681SAndroid Build Coastguard Worker@ CHECK: ldcleq	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xfa,0x0c]
1150*9880d681SAndroid Build Coastguard Worker@ CHECK: ldclhi	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x7b,0x8c]
1151*9880d681SAndroid Build Coastguard Worker
1152*9880d681SAndroid Build Coastguard Worker@ CHECK: ldc2	p2, c8, [r1], {25}      @ encoding: [0x19,0x82,0x91,0xfc]
1153*9880d681SAndroid Build Coastguard Worker
1154*9880d681SAndroid Build Coastguard Worker
1155*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1156*9880d681SAndroid Build Coastguard Worker@ LDM*
1157*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1158*9880d681SAndroid Build Coastguard Worker        ldm       r2, {r1,r3-r6,sp}
1159*9880d681SAndroid Build Coastguard Worker        ldmia     r2, {r1,r3-r6,sp}
1160*9880d681SAndroid Build Coastguard Worker        ldmib     r2, {r1,r3-r6,sp}
1161*9880d681SAndroid Build Coastguard Worker        ldmda     r2, {r1,r3-r6,sp}
1162*9880d681SAndroid Build Coastguard Worker        ldmdb     r2, {r1,r3-r6,sp}
1163*9880d681SAndroid Build Coastguard Worker        ldmfd     r2, {r1,r3-r6,sp}
1164*9880d681SAndroid Build Coastguard Worker
1165*9880d681SAndroid Build Coastguard Worker        @ with update
1166*9880d681SAndroid Build Coastguard Worker        ldm       r2!, {r1,r3-r6,sp}
1167*9880d681SAndroid Build Coastguard Worker        ldmib     r2!, {r1,r3-r6,sp}
1168*9880d681SAndroid Build Coastguard Worker        ldmda     r2!, {r1,r3-r6,sp}
1169*9880d681SAndroid Build Coastguard Worker        ldmdb     r2!, {r1,r3-r6,sp}
1170*9880d681SAndroid Build Coastguard Worker
1171*9880d681SAndroid Build Coastguard Worker        @ system version
1172*9880d681SAndroid Build Coastguard Worker        ldm r0, {r0, r2, lr}^
1173*9880d681SAndroid Build Coastguard Worker        ldm sp!, {r0-r3, pc}^
1174*9880d681SAndroid Build Coastguard Worker
1175*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
1176*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
1177*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9]
1178*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8]
1179*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9]
1180*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm   r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8]
1181*9880d681SAndroid Build Coastguard Worker
1182*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm   r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8]
1183*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9]
1184*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8]
1185*9880d681SAndroid Build Coastguard Worker@ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9]
1186*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm	r0, {r0, r2, lr} ^          @ encoding: [0x05,0x40,0xd0,0xe8]
1187*9880d681SAndroid Build Coastguard Worker@ CHECK: ldm	sp!, {r0, r1, r2, r3, pc} ^ @ encoding: [0x0f,0x80,0xfd,0xe8]
1188*9880d681SAndroid Build Coastguard Worker
1189*9880d681SAndroid Build Coastguard Worker
1190*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1191*9880d681SAndroid Build Coastguard Worker@ LDREX/LDREXB/LDREXH/LDREXD
1192*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1193*9880d681SAndroid Build Coastguard Worker        ldrexb  r3, [r4]
1194*9880d681SAndroid Build Coastguard Worker        ldrexh  r2, [r5]
1195*9880d681SAndroid Build Coastguard Worker        ldrex  r1, [r7]
1196*9880d681SAndroid Build Coastguard Worker        ldrexd  r6, r7, [r8]
1197*9880d681SAndroid Build Coastguard Worker
1198*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexb	r3, [r4]                @ encoding: [0x9f,0x3f,0xd4,0xe1]
1199*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexh	r2, [r5]                @ encoding: [0x9f,0x2f,0xf5,0xe1]
1200*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrex	r1, [r7]                @ encoding: [0x9f,0x1f,0x97,0xe1]
1201*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrexd	r6, r7, [r8]            @ encoding: [0x9f,0x6f,0xb8,0xe1]
1202*9880d681SAndroid Build Coastguard Worker
1203*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1204*9880d681SAndroid Build Coastguard Worker@ LDRHT
1205*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1206*9880d681SAndroid Build Coastguard Worker        ldrhthi	r8, [r11], #-0
1207*9880d681SAndroid Build Coastguard Worker        ldrhthi	r8, [r11], #0
1208*9880d681SAndroid Build Coastguard Worker
1209*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrhthi r8, [r11], #-0         @ encoding: [0xb0,0x80,0x7b,0x80]
1210*9880d681SAndroid Build Coastguard Worker@ CHECK: ldrhthi r8, [r11], #0          @ encoding: [0xb0,0x80,0xfb,0x80]
1211*9880d681SAndroid Build Coastguard Worker
1212*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1213*9880d681SAndroid Build Coastguard Worker@ LSL
1214*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1215*9880d681SAndroid Build Coastguard Worker	lsl r2, r4, #31
1216*9880d681SAndroid Build Coastguard Worker	lsl r2, r4, #1
1217*9880d681SAndroid Build Coastguard Worker	lsl r2, r4, #0
1218*9880d681SAndroid Build Coastguard Worker	lsl r4, #1
1219*9880d681SAndroid Build Coastguard Worker
1220*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl	r2, r4, #31             @ encoding: [0x84,0x2f,0xa0,0xe1]
1221*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl	r2, r4, #1              @ encoding: [0x84,0x20,0xa0,0xe1]
1222*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
1223*9880d681SAndroid Build Coastguard Worker@ CHECK: lsl	r4, r4, #1              @ encoding: [0x84,0x40,0xa0,0xe1]
1224*9880d681SAndroid Build Coastguard Worker
1225*9880d681SAndroid Build Coastguard Worker
1226*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1227*9880d681SAndroid Build Coastguard Worker@ LSR
1228*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1229*9880d681SAndroid Build Coastguard Worker	lsr r2, r4, #32
1230*9880d681SAndroid Build Coastguard Worker	lsr r2, r4, #2
1231*9880d681SAndroid Build Coastguard Worker	lsr r2, r4, #0
1232*9880d681SAndroid Build Coastguard Worker	lsr r4, #2
1233*9880d681SAndroid Build Coastguard Worker
1234*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr	r2, r4, #32             @ encoding: [0x24,0x20,0xa0,0xe1]
1235*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr	r2, r4, #2              @ encoding: [0x24,0x21,0xa0,0xe1]
1236*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
1237*9880d681SAndroid Build Coastguard Worker@ CHECK: lsr	r4, r4, #2              @ encoding: [0x24,0x41,0xa0,0xe1]
1238*9880d681SAndroid Build Coastguard Worker
1239*9880d681SAndroid Build Coastguard Worker
1240*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1241*9880d681SAndroid Build Coastguard Worker@ MCR/MCR2
1242*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1243*9880d681SAndroid Build Coastguard Worker        mcr  p7, #1, r5, c1, c1, #4
1244*9880d681SAndroid Build Coastguard Worker        mcr2  p7, #1, r5, c1, c1, #4
1245*9880d681SAndroid Build Coastguard Worker
1246*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr  p7, #1, r5, c1, c1, #4    @ encoding: [0x91,0x57,0x21,0xee]
1247*9880d681SAndroid Build Coastguard Worker@ CHECK: mcr2  p7, #1, r5, c1, c1, #4   @ encoding: [0x91,0x57,0x21,0xfe]
1248*9880d681SAndroid Build Coastguard Worker
1249*9880d681SAndroid Build Coastguard Worker        mcrls  p7, #1, r5, c1, c1, #4
1250*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrls  p7, #1, r5, c1, c1, #4   @ encoding: [0x91,0x57,0x21,0x9e]
1251*9880d681SAndroid Build Coastguard Worker
1252*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1253*9880d681SAndroid Build Coastguard Worker@ MCRR/MCRR2
1254*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1255*9880d681SAndroid Build Coastguard Worker        mcrr  p7, #15, r5, r4, c1
1256*9880d681SAndroid Build Coastguard Worker        mcrr2  p7, #15, r5, r4, c1
1257*9880d681SAndroid Build Coastguard Worker
1258*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrr  p7, #15, r5, r4, c1      @ encoding: [0xf1,0x57,0x44,0xec]
1259*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrr2  p7, #15, r5, r4, c1     @ encoding: [0xf1,0x57,0x44,0xfc]
1260*9880d681SAndroid Build Coastguard Worker
1261*9880d681SAndroid Build Coastguard Worker        mcrrgt  p7, #15, r5, r4, c1
1262*9880d681SAndroid Build Coastguard Worker@ CHECK: mcrrgt  p7, #15, r5, r4, c1     @ encoding: [0xf1,0x57,0x44,0xcc]
1263*9880d681SAndroid Build Coastguard Worker
1264*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1265*9880d681SAndroid Build Coastguard Worker@ MLA
1266*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1267*9880d681SAndroid Build Coastguard Worker        mla  r1,r2,r3,r4
1268*9880d681SAndroid Build Coastguard Worker        mlas r1,r2,r3,r4
1269*9880d681SAndroid Build Coastguard Worker        mlane  r1,r2,r3,r4
1270*9880d681SAndroid Build Coastguard Worker        mlasne r1,r2,r3,r4
1271*9880d681SAndroid Build Coastguard Worker
1272*9880d681SAndroid Build Coastguard Worker@ CHECK: mla 	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x21,0xe0]
1273*9880d681SAndroid Build Coastguard Worker@ CHECK: mlas	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x31,0xe0]
1274*9880d681SAndroid Build Coastguard Worker@ CHECK: mlane 	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x21,0x10]
1275*9880d681SAndroid Build Coastguard Worker@ CHECK: mlasne	r1, r2, r3, r4          @ encoding: [0x92,0x43,0x31,0x10]
1276*9880d681SAndroid Build Coastguard Worker
1277*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1278*9880d681SAndroid Build Coastguard Worker@ MLS
1279*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1280*9880d681SAndroid Build Coastguard Worker        mls  r2,r5,r6,r3
1281*9880d681SAndroid Build Coastguard Worker        mlsne  r2,r5,r6,r3
1282*9880d681SAndroid Build Coastguard Worker
1283*9880d681SAndroid Build Coastguard Worker@ CHECK: mls	r2, r5, r6, r3          @ encoding: [0x95,0x36,0x62,0xe0]
1284*9880d681SAndroid Build Coastguard Worker@ CHECK: mlsne	r2, r5, r6, r3          @ encoding: [0x95,0x36,0x62,0x10]
1285*9880d681SAndroid Build Coastguard Worker
1286*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1287*9880d681SAndroid Build Coastguard Worker@ MOV (immediate)
1288*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1289*9880d681SAndroid Build Coastguard Worker        mov r3, #7
1290*9880d681SAndroid Build Coastguard Worker        mov r3, $7
1291*9880d681SAndroid Build Coastguard Worker        mov r3, 7
1292*9880d681SAndroid Build Coastguard Worker        mov r3, -7
1293*9880d681SAndroid Build Coastguard Worker        mov r4, #0xff0
1294*9880d681SAndroid Build Coastguard Worker        mov r5, #0xff0000
1295*9880d681SAndroid Build Coastguard Worker        mov r7, #42, #0
1296*9880d681SAndroid Build Coastguard Worker        mov r7, #42, #10
1297*9880d681SAndroid Build Coastguard Worker	mov r7, #(0xff << 16)
1298*9880d681SAndroid Build Coastguard Worker        mov r7, #-2147483638
1299*9880d681SAndroid Build Coastguard Worker        mov r7, #42, #2
1300*9880d681SAndroid Build Coastguard Worker        mov pc, #42, #2
1301*9880d681SAndroid Build Coastguard Worker        mov r7, #0, #2
1302*9880d681SAndroid Build Coastguard Worker        mov r7, #40, #2
1303*9880d681SAndroid Build Coastguard Worker        mov r7, $40, $2
1304*9880d681SAndroid Build Coastguard Worker        mov r7, 40, 2
1305*9880d681SAndroid Build Coastguard Worker        mov r7, (2 * 20), (1 << 1)
1306*9880d681SAndroid Build Coastguard Worker        mov r7, #42, #30
1307*9880d681SAndroid Build Coastguard Worker        mov r6, #0xffff
1308*9880d681SAndroid Build Coastguard Worker        movw r9, #0xffff
1309*9880d681SAndroid Build Coastguard Worker        movs r3, #7
1310*9880d681SAndroid Build Coastguard Worker        moveq r4, #0xff0
1311*9880d681SAndroid Build Coastguard Worker        movseq r5, #0xff0000
1312*9880d681SAndroid Build Coastguard Worker
1313*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r3, #7                  @ encoding: [0x07,0x30,0xa0,0xe3]
1314*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r3, #7                  @ encoding: [0x07,0x30,0xa0,0xe3]
1315*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r3, #7                  @ encoding: [0x07,0x30,0xa0,0xe3]
1316*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r3, #6                  @ encoding: [0x06,0x30,0xe0,0xe3]
1317*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r4, #4080               @ encoding: [0xff,0x4e,0xa0,0xe3]
1318*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r5, #16711680           @ encoding: [0xff,0x58,0xa0,0xe3]
1319*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #42                 @ encoding: [0x2a,0x70,0xa0,0xe3]
1320*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #176160768          @ encoding: [0x2a,0x75,0xa0,0xe3]
1321*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r7, #16711680           @ encoding: [0xff,0x78,0xa0,0xe3]
1322*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #-2147483638        @ encoding: [0x2a,0x71,0xa0,0xe3]
1323*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #-2147483638        @ encoding: [0x2a,0x71,0xa0,0xe3]
1324*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    pc, #2147483658         @ encoding: [0x2a,0xf1,0xa0,0xe3]
1325*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #0, #2              @ encoding: [0x00,0x71,0xa0,0xe3]
1326*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #40, #2             @ encoding: [0x28,0x71,0xa0,0xe3]
1327*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #40, #2             @ encoding: [0x28,0x71,0xa0,0xe3]
1328*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #40, #2             @ encoding: [0x28,0x71,0xa0,0xe3]
1329*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #40, #2             @ encoding: [0x28,0x71,0xa0,0xe3]
1330*9880d681SAndroid Build Coastguard Worker@ CHECK: mov    r7, #42, #30            @ encoding: [0x2a,0x7f,0xa0,0xe3]
1331*9880d681SAndroid Build Coastguard Worker@ CHECK: movw	r6, #65535              @ encoding: [0xff,0x6f,0x0f,0xe3]
1332*9880d681SAndroid Build Coastguard Worker@ CHECK: movw	r9, #65535              @ encoding: [0xff,0x9f,0x0f,0xe3]
1333*9880d681SAndroid Build Coastguard Worker@ CHECK: movs	r3, #7                  @ encoding: [0x07,0x30,0xb0,0xe3]
1334*9880d681SAndroid Build Coastguard Worker@ CHECK: moveq	r4, #4080               @ encoding: [0xff,0x4e,0xa0,0x03]
1335*9880d681SAndroid Build Coastguard Worker@ CHECK: movseq	r5, #16711680           @ encoding: [0xff,0x58,0xb0,0x03]
1336*9880d681SAndroid Build Coastguard Worker
1337*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1338*9880d681SAndroid Build Coastguard Worker@ MOV (register)
1339*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1340*9880d681SAndroid Build Coastguard Worker        mov r2, r3
1341*9880d681SAndroid Build Coastguard Worker        movs r2, r3
1342*9880d681SAndroid Build Coastguard Worker        moveq r2, r3
1343*9880d681SAndroid Build Coastguard Worker        movseq r2, r3
1344*9880d681SAndroid Build Coastguard Worker        mov r12, r8, lsl #(2 - 2)
1345*9880d681SAndroid Build Coastguard Worker        lsl r2, r3, #(2 - 2)
1346*9880d681SAndroid Build Coastguard Worker        mov r12, r8, lsr #(2 - 2)
1347*9880d681SAndroid Build Coastguard Worker        lsr r2, r3, #(2 - 2)
1348*9880d681SAndroid Build Coastguard Worker        mov r12, r8, asr #(2 - 2)
1349*9880d681SAndroid Build Coastguard Worker        asr r2, r3, #(2 - 2)
1350*9880d681SAndroid Build Coastguard Worker        mov r12, r8, ror #(2 - 2)
1351*9880d681SAndroid Build Coastguard Worker        ror r2, r3, #(2 - 2)
1352*9880d681SAndroid Build Coastguard Worker
1353*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
1354*9880d681SAndroid Build Coastguard Worker@ CHECK: movs	r2, r3                  @ encoding: [0x03,0x20,0xb0,0xe1]
1355*9880d681SAndroid Build Coastguard Worker@ CHECK: moveq	r2, r3                  @ encoding: [0x03,0x20,0xa0,0x01]
1356*9880d681SAndroid Build Coastguard Worker@ CHECK: movseq	r2, r3                  @ encoding: [0x03,0x20,0xb0,0x01]
1357*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r12, r8                 @ encoding: [0x08,0xc0,0xa0,0xe1]
1358*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
1359*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r12, r8                 @ encoding: [0x08,0xc0,0xa0,0xe1]
1360*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
1361*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r12, r8                 @ encoding: [0x08,0xc0,0xa0,0xe1]
1362*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
1363*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r12, r8                 @ encoding: [0x08,0xc0,0xa0,0xe1]
1364*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r3                  @ encoding: [0x03,0x20,0xa0,0xe1]
1365*9880d681SAndroid Build Coastguard Worker
1366*9880d681SAndroid Build Coastguard Worker
1367*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1368*9880d681SAndroid Build Coastguard Worker@ MOVT
1369*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1370*9880d681SAndroid Build Coastguard Worker        movt r3, #7
1371*9880d681SAndroid Build Coastguard Worker        movt r6, #0xffff
1372*9880d681SAndroid Build Coastguard Worker        movteq r4, #0xff0
1373*9880d681SAndroid Build Coastguard Worker
1374*9880d681SAndroid Build Coastguard Worker@ CHECK: movt	r3, #7                  @ encoding: [0x07,0x30,0x40,0xe3]
1375*9880d681SAndroid Build Coastguard Worker@ CHECK: movt	r6, #65535              @ encoding: [0xff,0x6f,0x4f,0xe3]
1376*9880d681SAndroid Build Coastguard Worker@ CHECK: movteq	r4, #4080               @ encoding: [0xf0,0x4f,0x40,0x03]
1377*9880d681SAndroid Build Coastguard Worker
1378*9880d681SAndroid Build Coastguard Worker
1379*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1380*9880d681SAndroid Build Coastguard Worker@ MRC/MRC2
1381*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1382*9880d681SAndroid Build Coastguard Worker        mrc  p14, #0, r1, c1, c2, #4
1383*9880d681SAndroid Build Coastguard Worker        mrc  p15, #7, apsr_nzcv, c15, c6, #6
1384*9880d681SAndroid Build Coastguard Worker        mrc2  p14, #0, r1, c1, c2, #4
1385*9880d681SAndroid Build Coastguard Worker        mrc2  p9, #7, apsr_nzcv, c15, c0, #1
1386*9880d681SAndroid Build Coastguard Worker
1387*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc  p14, #0, r1, c1, c2, #4             @ encoding: [0x92,0x1e,0x11,0xee]
1388*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc  p15, #7, apsr_nzcv, c15, c6, #6     @ encoding: [0xd6,0xff,0xff,0xee]
1389*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2  p14, #0, r1, c1, c2, #4            @ encoding: [0x92,0x1e,0x11,0xfe]
1390*9880d681SAndroid Build Coastguard Worker@ CHECK: mrc2  p9, #7, apsr_nzcv, c15, c0, #1     @ encoding: [0x30,0xf9,0xff,0xfe]
1391*9880d681SAndroid Build Coastguard Worker
1392*9880d681SAndroid Build Coastguard Worker         mrceq  p15, #7, apsr_nzcv, c15, c6, #6
1393*9880d681SAndroid Build Coastguard Worker@ CHECK: mrceq  p15, #7, apsr_nzcv, c15, c6, #6   @ encoding: [0xd6,0xff,0xff,0x0e]
1394*9880d681SAndroid Build Coastguard Worker
1395*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1396*9880d681SAndroid Build Coastguard Worker@ MRRC/MRRC2
1397*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1398*9880d681SAndroid Build Coastguard Worker        mrrc  p7, #1, r5, r4, c1
1399*9880d681SAndroid Build Coastguard Worker        mrrc2  p7, #1, r5, r4, c1
1400*9880d681SAndroid Build Coastguard Worker
1401*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrc  p7, #1, r5, r4, c1       @ encoding: [0x11,0x57,0x54,0xec]
1402*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrc2  p7, #1, r5, r4, c1      @ encoding: [0x11,0x57,0x54,0xfc]
1403*9880d681SAndroid Build Coastguard Worker
1404*9880d681SAndroid Build Coastguard Worker        mrrclo  p7, #1, r5, r4, c1
1405*9880d681SAndroid Build Coastguard Worker@ CHECK: mrrclo  p7, #1, r5, r4, c1      @ encoding: [0x11,0x57,0x54,0x3c]
1406*9880d681SAndroid Build Coastguard Worker
1407*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1408*9880d681SAndroid Build Coastguard Worker@ MRS
1409*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1410*9880d681SAndroid Build Coastguard Worker        mrs  r8, apsr
1411*9880d681SAndroid Build Coastguard Worker        mrs  r8, cpsr
1412*9880d681SAndroid Build Coastguard Worker        mrs  r8, spsr
1413*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs  r8, apsr                  @ encoding: [0x00,0x80,0x0f,0xe1]
1414*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs  r8, apsr                  @ encoding: [0x00,0x80,0x0f,0xe1]
1415*9880d681SAndroid Build Coastguard Worker@ CHECK: mrs  r8, spsr                  @ encoding: [0x00,0x80,0x4f,0xe1]
1416*9880d681SAndroid Build Coastguard Worker
1417*9880d681SAndroid Build Coastguard Worker
1418*9880d681SAndroid Build Coastguard Worker
1419*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1420*9880d681SAndroid Build Coastguard Worker@ MSR
1421*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1422*9880d681SAndroid Build Coastguard Worker
1423*9880d681SAndroid Build Coastguard Worker        msr  apsr, #5
1424*9880d681SAndroid Build Coastguard Worker        msr  apsr, $5
1425*9880d681SAndroid Build Coastguard Worker        msr  apsr, 5
1426*9880d681SAndroid Build Coastguard Worker        msr  apsr_g, #5
1427*9880d681SAndroid Build Coastguard Worker        msr  apsr_nzcvq, #5
1428*9880d681SAndroid Build Coastguard Worker        msr  APSR_nzcvq, #5
1429*9880d681SAndroid Build Coastguard Worker        msr  apsr_nzcvqg, #5
1430*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fc, #5
1431*9880d681SAndroid Build Coastguard Worker        msr  cpsr_c, #5
1432*9880d681SAndroid Build Coastguard Worker        msr  cpsr_x, #5
1433*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fc, #5
1434*9880d681SAndroid Build Coastguard Worker        msr  cpsr_all, #5
1435*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fsx, #5
1436*9880d681SAndroid Build Coastguard Worker        msr  spsr_fc, #5
1437*9880d681SAndroid Build Coastguard Worker        msr  SPSR_fsxc, #5
1438*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fsxc, #5
1439*9880d681SAndroid Build Coastguard Worker	msr  apsr_nzcvqg, #(0xff << 16)
1440*9880d681SAndroid Build Coastguard Worker        msr  APSR_nzcvq, #42, #2
1441*9880d681SAndroid Build Coastguard Worker        msr  apsr_nzcvqg, #2147483658
1442*9880d681SAndroid Build Coastguard Worker        msr  SPSR_fsxc, #40, #2
1443*9880d681SAndroid Build Coastguard Worker        msr  SPSR_fsxc, $40, $2
1444*9880d681SAndroid Build Coastguard Worker        msr  SPSR_fsxc, 40, 2
1445*9880d681SAndroid Build Coastguard Worker        msr  SPSR_fsxc, (2 * 20), (1 << 1)
1446*9880d681SAndroid Build Coastguard Worker
1447*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
1448*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
1449*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
1450*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_g, #5              @ encoding: [0x05,0xf0,0x24,0xe3]
1451*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
1452*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvq, #5          @ encoding: [0x05,0xf0,0x28,0xe3]
1453*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvqg, #5         @ encoding: [0x05,0xf0,0x2c,0xe3]
1454*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
1455*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_c, #5              @ encoding: [0x05,0xf0,0x21,0xe3]
1456*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_x, #5              @ encoding: [0x05,0xf0,0x22,0xe3]
1457*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
1458*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_fc, #5             @ encoding: [0x05,0xf0,0x29,0xe3]
1459*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_fsx, #5            @ encoding: [0x05,0xf0,0x2e,0xe3]
1460*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	SPSR_fc, #5             @ encoding: [0x05,0xf0,0x69,0xe3]
1461*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	SPSR_fsxc, #5           @ encoding: [0x05,0xf0,0x6f,0xe3]
1462*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	CPSR_fsxc, #5           @ encoding: [0x05,0xf0,0x2f,0xe3]
1463*9880d681SAndroid Build Coastguard Worker@ CHECK: msr	APSR_nzcvqg, #16711680  @ encoding: [0xff,0xf8,0x2c,0xe3]
1464*9880d681SAndroid Build Coastguard Worker@ CHECK: msr    APSR_nzcvq, #2147483658 @ encoding: [0x2a,0xf1,0x28,0xe3]
1465*9880d681SAndroid Build Coastguard Worker@ CHECK: msr    APSR_nzcvqg, #2147483658 @ encoding: [0x2a,0xf1,0x2c,0xe3]
1466*9880d681SAndroid Build Coastguard Worker@ CHECK: msr    SPSR_fsxc, #40, #2      @ encoding: [0x28,0xf1,0x6f,0xe3]
1467*9880d681SAndroid Build Coastguard Worker@ CHECK: msr    SPSR_fsxc, #40, #2      @ encoding: [0x28,0xf1,0x6f,0xe3]
1468*9880d681SAndroid Build Coastguard Worker@ CHECK: msr    SPSR_fsxc, #40, #2      @ encoding: [0x28,0xf1,0x6f,0xe3]
1469*9880d681SAndroid Build Coastguard Worker@ CHECK: msr    SPSR_fsxc, #40, #2      @ encoding: [0x28,0xf1,0x6f,0xe3]
1470*9880d681SAndroid Build Coastguard Worker
1471*9880d681SAndroid Build Coastguard Worker        msr  apsr, r0
1472*9880d681SAndroid Build Coastguard Worker        msr  apsr_g, r0
1473*9880d681SAndroid Build Coastguard Worker        msr  apsr_nzcvq, r0
1474*9880d681SAndroid Build Coastguard Worker        msr  APSR_nzcvq, r0
1475*9880d681SAndroid Build Coastguard Worker        msr  apsr_nzcvqg, r0
1476*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fc, r0
1477*9880d681SAndroid Build Coastguard Worker        msr  cpsr_c, r0
1478*9880d681SAndroid Build Coastguard Worker        msr  cpsr_x, r0
1479*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fc, r0
1480*9880d681SAndroid Build Coastguard Worker        msr  cpsr_all, r0
1481*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fsx, r0
1482*9880d681SAndroid Build Coastguard Worker        msr  spsr_fc, r0
1483*9880d681SAndroid Build Coastguard Worker        msr  SPSR_fsxc, r0
1484*9880d681SAndroid Build Coastguard Worker        msr  cpsr_fsxc, r0
1485*9880d681SAndroid Build Coastguard Worker
1486*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  APSR_nzcvq, r0            @ encoding: [0x00,0xf0,0x28,0xe1]
1487*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  APSR_g, r0                @ encoding: [0x00,0xf0,0x24,0xe1]
1488*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  APSR_nzcvq, r0            @ encoding: [0x00,0xf0,0x28,0xe1]
1489*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  APSR_nzcvq, r0            @ encoding: [0x00,0xf0,0x28,0xe1]
1490*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  APSR_nzcvqg, r0           @ encoding: [0x00,0xf0,0x2c,0xe1]
1491*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_fc, r0               @ encoding: [0x00,0xf0,0x29,0xe1]
1492*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_c, r0                @ encoding: [0x00,0xf0,0x21,0xe1]
1493*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_x, r0                @ encoding: [0x00,0xf0,0x22,0xe1]
1494*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_fc, r0               @ encoding: [0x00,0xf0,0x29,0xe1]
1495*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_fc, r0               @ encoding: [0x00,0xf0,0x29,0xe1]
1496*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_fsx, r0              @ encoding: [0x00,0xf0,0x2e,0xe1]
1497*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  SPSR_fc, r0               @ encoding: [0x00,0xf0,0x69,0xe1]
1498*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  SPSR_fsxc, r0             @ encoding: [0x00,0xf0,0x6f,0xe1]
1499*9880d681SAndroid Build Coastguard Worker@ CHECK: msr  CPSR_fsxc, r0             @ encoding: [0x00,0xf0,0x2f,0xe1]
1500*9880d681SAndroid Build Coastguard Worker
1501*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1502*9880d681SAndroid Build Coastguard Worker@ MUL
1503*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1504*9880d681SAndroid Build Coastguard Worker        mul r5, r6, r7
1505*9880d681SAndroid Build Coastguard Worker        muls r5, r6, r7
1506*9880d681SAndroid Build Coastguard Worker        mulgt r5, r6, r7
1507*9880d681SAndroid Build Coastguard Worker        mulsle r5, r6, r7
1508*9880d681SAndroid Build Coastguard Worker        mul r11, r5
1509*9880d681SAndroid Build Coastguard Worker
1510*9880d681SAndroid Build Coastguard Worker@ CHECK: mul	r5, r6, r7              @ encoding: [0x96,0x07,0x05,0xe0]
1511*9880d681SAndroid Build Coastguard Worker@ CHECK: muls	r5, r6, r7              @ encoding: [0x96,0x07,0x15,0xe0]
1512*9880d681SAndroid Build Coastguard Worker@ CHECK: mulgt	r5, r6, r7              @ encoding: [0x96,0x07,0x05,0xc0]
1513*9880d681SAndroid Build Coastguard Worker@ CHECK: mulsle	r5, r6, r7              @ encoding: [0x96,0x07,0x15,0xd0]
1514*9880d681SAndroid Build Coastguard Worker
1515*9880d681SAndroid Build Coastguard Worker
1516*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1517*9880d681SAndroid Build Coastguard Worker@ MVN (immediate)
1518*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1519*9880d681SAndroid Build Coastguard Worker        mvn r3, #7
1520*9880d681SAndroid Build Coastguard Worker        mvn r3, $7
1521*9880d681SAndroid Build Coastguard Worker        mvn r3, 7
1522*9880d681SAndroid Build Coastguard Worker        mvn r3, -7
1523*9880d681SAndroid Build Coastguard Worker        mvn r7, #~0xffffff00
1524*9880d681SAndroid Build Coastguard Worker        mvn r4, #0xff0
1525*9880d681SAndroid Build Coastguard Worker        mvn r5, #0xff0000
1526*9880d681SAndroid Build Coastguard Worker	mvn r7, #(0xff << 16)
1527*9880d681SAndroid Build Coastguard Worker        mvn r7, #-2147483638
1528*9880d681SAndroid Build Coastguard Worker        mvn r7, #42, #2
1529*9880d681SAndroid Build Coastguard Worker        mvn r7, #40, #2
1530*9880d681SAndroid Build Coastguard Worker        mvn r7, $40, $2
1531*9880d681SAndroid Build Coastguard Worker        mvn r7, 40, 2
1532*9880d681SAndroid Build Coastguard Worker        mvn r7, (2 * 20), (1 << 1)
1533*9880d681SAndroid Build Coastguard Worker        mvns r3, #7
1534*9880d681SAndroid Build Coastguard Worker        mvneq r4, #0xff0
1535*9880d681SAndroid Build Coastguard Worker        mvnseq r5, #0xff0000
1536*9880d681SAndroid Build Coastguard Worker
1537*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r3, #7                  @ encoding: [0x07,0x30,0xe0,0xe3]
1538*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r3, #7                  @ encoding: [0x07,0x30,0xe0,0xe3]
1539*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r3, #7                  @ encoding: [0x07,0x30,0xe0,0xe3]
1540*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r3, #6                  @ encoding: [0x06,0x30,0xa0,0xe3]
1541*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #255                @ encoding: [0xff,0x70,0xe0,0xe3]
1542*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r4, #4080               @ encoding: [0xff,0x4e,0xe0,0xe3]
1543*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, #16711680           @ encoding: [0xff,0x58,0xe0,0xe3]
1544*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r7, #16711680           @ encoding: [0xff,0x78,0xe0,0xe3]
1545*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #-2147483638        @ encoding: [0x2a,0x71,0xe0,0xe3]
1546*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #-2147483638        @ encoding: [0x2a,0x71,0xe0,0xe3]
1547*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #40, #2             @ encoding: [0x28,0x71,0xe0,0xe3]
1548*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #40, #2             @ encoding: [0x28,0x71,0xe0,0xe3]
1549*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #40, #2             @ encoding: [0x28,0x71,0xe0,0xe3]
1550*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn    r7, #40, #2             @ encoding: [0x28,0x71,0xe0,0xe3]
1551*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns	r3, #7                  @ encoding: [0x07,0x30,0xf0,0xe3]
1552*9880d681SAndroid Build Coastguard Worker@ CHECK: mvneq	r4, #4080               @ encoding: [0xff,0x4e,0xe0,0x03]
1553*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnseq	r5, #16711680           @ encoding: [0xff,0x58,0xf0,0x03]
1554*9880d681SAndroid Build Coastguard Worker
1555*9880d681SAndroid Build Coastguard Worker
1556*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1557*9880d681SAndroid Build Coastguard Worker@ MVN (register)
1558*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1559*9880d681SAndroid Build Coastguard Worker        mvn r2, r3
1560*9880d681SAndroid Build Coastguard Worker        mvns r2, r3
1561*9880d681SAndroid Build Coastguard Worker        mvn r5, r6, lsl #19
1562*9880d681SAndroid Build Coastguard Worker        mvn r5, r6, lsr #9
1563*9880d681SAndroid Build Coastguard Worker        mvn r5, r6, asr #4
1564*9880d681SAndroid Build Coastguard Worker        mvn r5, r6, ror #6
1565*9880d681SAndroid Build Coastguard Worker        mvn r5, r6, rrx
1566*9880d681SAndroid Build Coastguard Worker        mvneq r2, r3
1567*9880d681SAndroid Build Coastguard Worker        mvnseq r2, r3, lsl #10
1568*9880d681SAndroid Build Coastguard Worker
1569*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r2, r3                  @ encoding: [0x03,0x20,0xe0,0xe1]
1570*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns	r2, r3                  @ encoding: [0x03,0x20,0xf0,0xe1]
1571*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, r6, lsl #19         @ encoding: [0x86,0x59,0xe0,0xe1]
1572*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, r6, lsr #9          @ encoding: [0xa6,0x54,0xe0,0xe1]
1573*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, r6, asr #4          @ encoding: [0x46,0x52,0xe0,0xe1]
1574*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, r6, ror #6          @ encoding: [0x66,0x53,0xe0,0xe1]
1575*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, r6, rrx             @ encoding: [0x66,0x50,0xe0,0xe1]
1576*9880d681SAndroid Build Coastguard Worker@ CHECK: mvneq	r2, r3                  @ encoding: [0x03,0x20,0xe0,0x01]
1577*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnseq	r2, r3, lsl #10         @ encoding: [0x03,0x25,0xf0,0x01]
1578*9880d681SAndroid Build Coastguard Worker
1579*9880d681SAndroid Build Coastguard Worker
1580*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1581*9880d681SAndroid Build Coastguard Worker@ MVN (shifted register)
1582*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1583*9880d681SAndroid Build Coastguard Worker        mvn r5, r6, lsl r7
1584*9880d681SAndroid Build Coastguard Worker        mvns r5, r6, lsr r7
1585*9880d681SAndroid Build Coastguard Worker        mvngt r5, r6, asr r7
1586*9880d681SAndroid Build Coastguard Worker        mvnslt r5, r6, ror r7
1587*9880d681SAndroid Build Coastguard Worker
1588*9880d681SAndroid Build Coastguard Worker@ CHECK: mvn	r5, r6, lsl r7          @ encoding: [0x16,0x57,0xe0,0xe1]
1589*9880d681SAndroid Build Coastguard Worker@ CHECK: mvns	r5, r6, lsr r7          @ encoding: [0x36,0x57,0xf0,0xe1]
1590*9880d681SAndroid Build Coastguard Worker@ CHECK: mvngt	r5, r6, asr r7          @ encoding: [0x56,0x57,0xe0,0xc1]
1591*9880d681SAndroid Build Coastguard Worker@ CHECK: mvnslt	r5, r6, ror r7          @ encoding: [0x76,0x57,0xf0,0xb1]
1592*9880d681SAndroid Build Coastguard Worker
1593*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1594*9880d681SAndroid Build Coastguard Worker@ NEG
1595*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1596*9880d681SAndroid Build Coastguard Worker        neg r5, r8
1597*9880d681SAndroid Build Coastguard Worker
1598*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r5, r8, #0              @ encoding: [0x00,0x50,0x68,0xe2]
1599*9880d681SAndroid Build Coastguard Worker
1600*9880d681SAndroid Build Coastguard Worker
1601*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1602*9880d681SAndroid Build Coastguard Worker@ NOP
1603*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1604*9880d681SAndroid Build Coastguard Worker        nop
1605*9880d681SAndroid Build Coastguard Worker        nop.w
1606*9880d681SAndroid Build Coastguard Worker        nopgt
1607*9880d681SAndroid Build Coastguard Worker
1608*9880d681SAndroid Build Coastguard Worker@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
1609*9880d681SAndroid Build Coastguard Worker@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
1610*9880d681SAndroid Build Coastguard Worker@ CHECK: nopgt @ encoding: [0x00,0xf0,0x20,0xc3]
1611*9880d681SAndroid Build Coastguard Worker
1612*9880d681SAndroid Build Coastguard Worker
1613*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1614*9880d681SAndroid Build Coastguard Worker@ ORR
1615*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1616*9880d681SAndroid Build Coastguard Worker        orr r4, r5, #0xf000
1617*9880d681SAndroid Build Coastguard Worker        orr r4, r5, $0xf000
1618*9880d681SAndroid Build Coastguard Worker        orr r4, r5, 0xf000
1619*9880d681SAndroid Build Coastguard Worker	orr r7, r8, #(0xff << 16)
1620*9880d681SAndroid Build Coastguard Worker        orr r7, r8, #-2147483638
1621*9880d681SAndroid Build Coastguard Worker        orr r7, r8, #42, #2
1622*9880d681SAndroid Build Coastguard Worker        orr r7, r8, #40, #2
1623*9880d681SAndroid Build Coastguard Worker        orr r7, r8, $40, $2
1624*9880d681SAndroid Build Coastguard Worker        orr r7, r8, 40, 2
1625*9880d681SAndroid Build Coastguard Worker        orr r7, r8, (2 * 20), (1 << 1)
1626*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6
1627*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6, lsl #5
1628*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6, lsr #5
1629*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6, lsr #5
1630*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6, asr #5
1631*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6, ror #5
1632*9880d681SAndroid Build Coastguard Worker        orr r6, r7, r8, lsl r9
1633*9880d681SAndroid Build Coastguard Worker        orr r6, r7, r8, lsr r9
1634*9880d681SAndroid Build Coastguard Worker        orr r6, r7, r8, asr r9
1635*9880d681SAndroid Build Coastguard Worker        orr r6, r7, r8, ror r9
1636*9880d681SAndroid Build Coastguard Worker        orr r4, r5, r6, rrx
1637*9880d681SAndroid Build Coastguard Worker
1638*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
1639*9880d681SAndroid Build Coastguard Worker        orr r5, #0xf000
1640*9880d681SAndroid Build Coastguard Worker        orr r5, $0xf000
1641*9880d681SAndroid Build Coastguard Worker        orr r5, 0xf000
1642*9880d681SAndroid Build Coastguard Worker
1643*9880d681SAndroid Build Coastguard Worker        orr r7, #(0xff << 16)
1644*9880d681SAndroid Build Coastguard Worker        orr r7, #-2147483638
1645*9880d681SAndroid Build Coastguard Worker        orr r7, #42, #2
1646*9880d681SAndroid Build Coastguard Worker        orr r7, #40, #2
1647*9880d681SAndroid Build Coastguard Worker        orr r7, $40, $2
1648*9880d681SAndroid Build Coastguard Worker        orr r7, 40, 2
1649*9880d681SAndroid Build Coastguard Worker        orr r7, (2 * 20), (1 << 1)
1650*9880d681SAndroid Build Coastguard Worker
1651*9880d681SAndroid Build Coastguard Worker        orr r4, r5
1652*9880d681SAndroid Build Coastguard Worker        orr r4, r5, lsl #5
1653*9880d681SAndroid Build Coastguard Worker        orr r4, r5, lsr #5
1654*9880d681SAndroid Build Coastguard Worker        orr r4, r5, lsr #5
1655*9880d681SAndroid Build Coastguard Worker        orr r4, r5, asr #5
1656*9880d681SAndroid Build Coastguard Worker        orr r4, r5, ror #5
1657*9880d681SAndroid Build Coastguard Worker        orr r6, r7, lsl r9
1658*9880d681SAndroid Build Coastguard Worker        orr r6, r7, lsr r9
1659*9880d681SAndroid Build Coastguard Worker        orr r6, r7, asr r9
1660*9880d681SAndroid Build Coastguard Worker        orr r6, r7, ror r9
1661*9880d681SAndroid Build Coastguard Worker        orr r4, r5, rrx
1662*9880d681SAndroid Build Coastguard Worker
1663*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe3]
1664*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe3]
1665*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x85,0xe3]
1666*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r7, r8, #16711680       @ encoding: [0xff,0x78,0x88,0xe3]
1667*9880d681SAndroid Build Coastguard Worker@ CHECK: orr    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x88,0xe3]
1668*9880d681SAndroid Build Coastguard Worker@ CHECK: orr    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x88,0xe3]
1669*9880d681SAndroid Build Coastguard Worker@ CHECK: orr    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe3]
1670*9880d681SAndroid Build Coastguard Worker@ CHECK: orr    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe3]
1671*9880d681SAndroid Build Coastguard Worker@ CHECK: orr    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe3]
1672*9880d681SAndroid Build Coastguard Worker@ CHECK: orr    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x88,0xe3]
1673*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0xe1]
1674*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x85,0xe1]
1675*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe1]
1676*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x85,0xe1]
1677*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x85,0xe1]
1678*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x85,0xe1]
1679*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x87,0xe1]
1680*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x87,0xe1]
1681*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x87,0xe1]
1682*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0xe1]
1683*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x85,0xe1]
1684*9880d681SAndroid Build Coastguard Worker
1685*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe3]
1686*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe3]
1687*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0xe3]
1688*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r7, r7, #16711680       @ encoding: [0xff,0x78,0x87,0xe3]
1689*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x87,0xe3]
1690*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x87,0xe3]
1691*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe3]
1692*9880d681SAndroid Build Coastguard Worker@ CHECK: orr 	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe3]
1693*9880d681SAndroid Build Coastguard Worker@ CHECK: orr 	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe3]
1694*9880d681SAndroid Build Coastguard Worker@ CHECK: orr 	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x87,0xe3]
1695*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5              @ encoding: [0x05,0x40,0x84,0xe1]
1696*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x84,0xe1]
1697*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe1]
1698*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x84,0xe1]
1699*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x84,0xe1]
1700*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x84,0xe1]
1701*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x86,0xe1]
1702*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x86,0xe1]
1703*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0xe1]
1704*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x86,0xe1]
1705*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x84,0xe1]
1706*9880d681SAndroid Build Coastguard Worker
1707*9880d681SAndroid Build Coastguard Worker        orrseq r4, r5, #0xf000
1708*9880d681SAndroid Build Coastguard Worker        orrne r4, r5, r6
1709*9880d681SAndroid Build Coastguard Worker        orrseq r4, r5, r6, lsl #5
1710*9880d681SAndroid Build Coastguard Worker        orrlo r6, r7, r8, ror r9
1711*9880d681SAndroid Build Coastguard Worker        orrshi r4, r5, r6, rrx
1712*9880d681SAndroid Build Coastguard Worker        orrcs r5, #0xf000
1713*9880d681SAndroid Build Coastguard Worker        orrseq r4, r5
1714*9880d681SAndroid Build Coastguard Worker        orrne r6, r7, asr r9
1715*9880d681SAndroid Build Coastguard Worker        orrslt r6, r7, ror r9
1716*9880d681SAndroid Build Coastguard Worker        orrsgt r4, r5, rrx
1717*9880d681SAndroid Build Coastguard Worker
1718*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x95,0x03]
1719*9880d681SAndroid Build Coastguard Worker@ CHECK: orrne	r4, r5, r6              @ encoding: [0x06,0x40,0x85,0x11]
1720*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x95,0x01]
1721*9880d681SAndroid Build Coastguard Worker@ CHECK: orrlo	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x87,0x31]
1722*9880d681SAndroid Build Coastguard Worker@ CHECK: orrshi	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x95,0x81]
1723*9880d681SAndroid Build Coastguard Worker@ CHECK: orrhs	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x85,0x23]
1724*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq	r4, r4, r5              @ encoding: [0x05,0x40,0x94,0x01]
1725*9880d681SAndroid Build Coastguard Worker@ CHECK: orrne	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x86,0x11]
1726*9880d681SAndroid Build Coastguard Worker@ CHECK: orrslt	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x96,0xb1]
1727*9880d681SAndroid Build Coastguard Worker@ CHECK: orrsgt	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x94,0xc1]
1728*9880d681SAndroid Build Coastguard Worker
1729*9880d681SAndroid Build Coastguard Worker    @ Test right shift by 32, which is encoded as 0
1730*9880d681SAndroid Build Coastguard Worker    orr r3, r1, r2, lsr #32
1731*9880d681SAndroid Build Coastguard Worker    orr r3, r1, r2, asr #32
1732*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r3, r1, r2, lsr #32     @ encoding: [0x22,0x30,0x81,0xe1]
1733*9880d681SAndroid Build Coastguard Worker@ CHECK: orr	r3, r1, r2, asr #32     @ encoding: [0x42,0x30,0x81,0xe1]
1734*9880d681SAndroid Build Coastguard Worker
1735*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1736*9880d681SAndroid Build Coastguard Worker@ PKH
1737*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1738*9880d681SAndroid Build Coastguard Worker        pkhbt r2, r2, r3
1739*9880d681SAndroid Build Coastguard Worker        pkhbt r2, r2, r3, lsl #31
1740*9880d681SAndroid Build Coastguard Worker        pkhbt r2, r2, r3, lsl #0
1741*9880d681SAndroid Build Coastguard Worker        pkhbt r2, r2, r3, lsl #15
1742*9880d681SAndroid Build Coastguard Worker
1743*9880d681SAndroid Build Coastguard Worker        pkhtb r2, r2, r3
1744*9880d681SAndroid Build Coastguard Worker        pkhtb r2, r2, r3, asr #31
1745*9880d681SAndroid Build Coastguard Worker        pkhtb r2, r2, r3, asr #15
1746*9880d681SAndroid Build Coastguard Worker
1747*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
1748*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt	r2, r2, r3, lsl #31     @ encoding: [0x93,0x2f,0x82,0xe6]
1749*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt	r2, r2, r3              @ encoding: [0x13,0x20,0x82,0xe6]
1750*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt	r2, r2, r3, lsl #15     @ encoding: [0x93,0x27,0x82,0xe6]
1751*9880d681SAndroid Build Coastguard Worker
1752*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhbt	r2, r3, r2              @ encoding: [0x12,0x20,0x83,0xe6]
1753*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhtb	r2, r2, r3, asr #31     @ encoding: [0xd3,0x2f,0x82,0xe6]
1754*9880d681SAndroid Build Coastguard Worker@ CHECK: pkhtb	r2, r2, r3, asr #15     @ encoding: [0xd3,0x27,0x82,0xe6]
1755*9880d681SAndroid Build Coastguard Worker
1756*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1757*9880d681SAndroid Build Coastguard Worker@ FIXME: PLD
1758*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1759*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1760*9880d681SAndroid Build Coastguard Worker@ FIXME: PLI
1761*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1762*9880d681SAndroid Build Coastguard Worker
1763*9880d681SAndroid Build Coastguard Worker
1764*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1765*9880d681SAndroid Build Coastguard Worker@ POP
1766*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1767*9880d681SAndroid Build Coastguard Worker        pop {r7}
1768*9880d681SAndroid Build Coastguard Worker        pop {r7, r8, r9, r10}
1769*9880d681SAndroid Build Coastguard Worker
1770*9880d681SAndroid Build Coastguard Worker@ CHECK: pop	{r7}                    @ encoding: [0x04,0x70,0x9d,0xe4]
1771*9880d681SAndroid Build Coastguard Worker@ CHECK: pop	{r7, r8, r9, r10}       @ encoding: [0x80,0x07,0xbd,0xe8]
1772*9880d681SAndroid Build Coastguard Worker
1773*9880d681SAndroid Build Coastguard Worker
1774*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1775*9880d681SAndroid Build Coastguard Worker@ PUSH
1776*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1777*9880d681SAndroid Build Coastguard Worker        push {r7}
1778*9880d681SAndroid Build Coastguard Worker        push {r7, r8, r9, r10}
1779*9880d681SAndroid Build Coastguard Worker
1780*9880d681SAndroid Build Coastguard Worker@ CHECK: push	{r7}                    @ encoding: [0x04,0x70,0x2d,0xe5]
1781*9880d681SAndroid Build Coastguard Worker@ CHECK: push	{r7, r8, r9, r10}       @ encoding: [0x80,0x07,0x2d,0xe9]
1782*9880d681SAndroid Build Coastguard Worker
1783*9880d681SAndroid Build Coastguard Worker
1784*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1785*9880d681SAndroid Build Coastguard Worker@ QADD/QADD16/QADD8
1786*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1787*9880d681SAndroid Build Coastguard Worker        qadd r1, r2, r3
1788*9880d681SAndroid Build Coastguard Worker        qaddne r1, r2, r3
1789*9880d681SAndroid Build Coastguard Worker        qadd16 r1, r2, r3
1790*9880d681SAndroid Build Coastguard Worker        qadd16gt r1, r2, r3
1791*9880d681SAndroid Build Coastguard Worker        qadd8 r1, r2, r3
1792*9880d681SAndroid Build Coastguard Worker        qadd8le r1, r2, r3
1793*9880d681SAndroid Build Coastguard Worker
1794*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd	r1, r2, r3              @ encoding: [0x52,0x10,0x03,0xe1]
1795*9880d681SAndroid Build Coastguard Worker@ CHECK: qaddne	r1, r2, r3              @ encoding: [0x52,0x10,0x03,0x11]
1796*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x22,0xe6]
1797*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x22,0xc6]
1798*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x22,0xe6]
1799*9880d681SAndroid Build Coastguard Worker@ CHECK: qadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x22,0xd6]
1800*9880d681SAndroid Build Coastguard Worker
1801*9880d681SAndroid Build Coastguard Worker
1802*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1803*9880d681SAndroid Build Coastguard Worker@ QDADD/QDSUB
1804*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1805*9880d681SAndroid Build Coastguard Worker        qdadd r6, r7, r8
1806*9880d681SAndroid Build Coastguard Worker        qdaddhi r6, r7, r8
1807*9880d681SAndroid Build Coastguard Worker        qdsub r6, r7, r8
1808*9880d681SAndroid Build Coastguard Worker        qdsubhi r6, r7, r8
1809*9880d681SAndroid Build Coastguard Worker
1810*9880d681SAndroid Build Coastguard Worker@ CHECK: qdadd	r6, r7, r8              @ encoding: [0x57,0x60,0x48,0xe1]
1811*9880d681SAndroid Build Coastguard Worker@ CHECK: qdaddhi r6, r7, r8             @ encoding: [0x57,0x60,0x48,0x81]
1812*9880d681SAndroid Build Coastguard Worker@ CHECK: qdsub	r6, r7, r8              @ encoding: [0x57,0x60,0x68,0xe1]
1813*9880d681SAndroid Build Coastguard Worker@ CHECK: qdsubhi r6, r7, r8             @ encoding: [0x57,0x60,0x68,0x81]
1814*9880d681SAndroid Build Coastguard Worker
1815*9880d681SAndroid Build Coastguard Worker
1816*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1817*9880d681SAndroid Build Coastguard Worker@ QSAX
1818*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1819*9880d681SAndroid Build Coastguard Worker        qsax r9, r12, r0
1820*9880d681SAndroid Build Coastguard Worker        qsaxeq r9, r12, r0
1821*9880d681SAndroid Build Coastguard Worker
1822*9880d681SAndroid Build Coastguard Worker@ CHECK: qsax	r9, r12, r0             @ encoding: [0x50,0x9f,0x2c,0xe6]
1823*9880d681SAndroid Build Coastguard Worker@ CHECK: qsaxeq	r9, r12, r0             @ encoding: [0x50,0x9f,0x2c,0x06]
1824*9880d681SAndroid Build Coastguard Worker
1825*9880d681SAndroid Build Coastguard Worker
1826*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1827*9880d681SAndroid Build Coastguard Worker@ QSUB/QSUB16/QSUB8
1828*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1829*9880d681SAndroid Build Coastguard Worker        qsub r1, r2, r3
1830*9880d681SAndroid Build Coastguard Worker        qsubne r1, r2, r3
1831*9880d681SAndroid Build Coastguard Worker        qsub16 r1, r2, r3
1832*9880d681SAndroid Build Coastguard Worker        qsub16gt r1, r2, r3
1833*9880d681SAndroid Build Coastguard Worker        qsub8 r1, r2, r3
1834*9880d681SAndroid Build Coastguard Worker        qsub8le r1, r2, r3
1835*9880d681SAndroid Build Coastguard Worker
1836*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub	r1, r2, r3              @ encoding: [0x52,0x10,0x23,0xe1]
1837*9880d681SAndroid Build Coastguard Worker@ CHECK: qsubne	r1, r2, r3              @ encoding: [0x52,0x10,0x23,0x11]
1838*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub16	r1, r2, r3              @ encoding: [0x73,0x1f,0x22,0xe6]
1839*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub16gt	r1, r2, r3      @ encoding: [0x73,0x1f,0x22,0xc6]
1840*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub8	r1, r2, r3              @ encoding: [0xf3,0x1f,0x22,0xe6]
1841*9880d681SAndroid Build Coastguard Worker@ CHECK: qsub8le r1, r2, r3             @ encoding: [0xf3,0x1f,0x22,0xd6]
1842*9880d681SAndroid Build Coastguard Worker
1843*9880d681SAndroid Build Coastguard Worker
1844*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1845*9880d681SAndroid Build Coastguard Worker@ RBIT
1846*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1847*9880d681SAndroid Build Coastguard Worker        rbit r1, r2
1848*9880d681SAndroid Build Coastguard Worker        rbitne r1, r2
1849*9880d681SAndroid Build Coastguard Worker
1850*9880d681SAndroid Build Coastguard Worker@ CHECK: rbit	r1, r2                  @ encoding: [0x32,0x1f,0xff,0xe6]
1851*9880d681SAndroid Build Coastguard Worker@ CHECK: rbitne	r1, r2                  @ encoding: [0x32,0x1f,0xff,0x16]
1852*9880d681SAndroid Build Coastguard Worker
1853*9880d681SAndroid Build Coastguard Worker
1854*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1855*9880d681SAndroid Build Coastguard Worker@ REV/REV16/REVSH
1856*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1857*9880d681SAndroid Build Coastguard Worker        rev r1, r9
1858*9880d681SAndroid Build Coastguard Worker        revne r1, r5
1859*9880d681SAndroid Build Coastguard Worker        rev16 r8, r3
1860*9880d681SAndroid Build Coastguard Worker        rev16ne r12, r4
1861*9880d681SAndroid Build Coastguard Worker        revsh r4, r9
1862*9880d681SAndroid Build Coastguard Worker        revshne r9, r1
1863*9880d681SAndroid Build Coastguard Worker
1864*9880d681SAndroid Build Coastguard Worker@ CHECK: rev	r1, r9                  @ encoding: [0x39,0x1f,0xbf,0xe6]
1865*9880d681SAndroid Build Coastguard Worker@ CHECK: revne	r1, r5                  @ encoding: [0x35,0x1f,0xbf,0x16]
1866*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16	r8, r3                  @ encoding: [0xb3,0x8f,0xbf,0xe6]
1867*9880d681SAndroid Build Coastguard Worker@ CHECK: rev16ne r12, r4                @ encoding: [0xb4,0xcf,0xbf,0x16]
1868*9880d681SAndroid Build Coastguard Worker@ CHECK: revsh	r4, r9                  @ encoding: [0xb9,0x4f,0xff,0xe6]
1869*9880d681SAndroid Build Coastguard Worker@ CHECK: revshne r9, r1                 @ encoding: [0xb1,0x9f,0xff,0x16]
1870*9880d681SAndroid Build Coastguard Worker
1871*9880d681SAndroid Build Coastguard Worker
1872*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1873*9880d681SAndroid Build Coastguard Worker@ RFE
1874*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1875*9880d681SAndroid Build Coastguard Worker        rfeda r2
1876*9880d681SAndroid Build Coastguard Worker        rfedb r3
1877*9880d681SAndroid Build Coastguard Worker        rfeia r5
1878*9880d681SAndroid Build Coastguard Worker        rfeib r6
1879*9880d681SAndroid Build Coastguard Worker
1880*9880d681SAndroid Build Coastguard Worker        rfeda r4!
1881*9880d681SAndroid Build Coastguard Worker        rfedb r7!
1882*9880d681SAndroid Build Coastguard Worker        rfeia r9!
1883*9880d681SAndroid Build Coastguard Worker        rfeib r8!
1884*9880d681SAndroid Build Coastguard Worker
1885*9880d681SAndroid Build Coastguard Worker        rfefa r2
1886*9880d681SAndroid Build Coastguard Worker        rfeea r3
1887*9880d681SAndroid Build Coastguard Worker        rfefd r5
1888*9880d681SAndroid Build Coastguard Worker        rfeed r6
1889*9880d681SAndroid Build Coastguard Worker
1890*9880d681SAndroid Build Coastguard Worker        rfefa r4!
1891*9880d681SAndroid Build Coastguard Worker        rfeea r7!
1892*9880d681SAndroid Build Coastguard Worker        rfefd r9!
1893*9880d681SAndroid Build Coastguard Worker        rfeed r8!
1894*9880d681SAndroid Build Coastguard Worker
1895*9880d681SAndroid Build Coastguard Worker        rfe r1
1896*9880d681SAndroid Build Coastguard Worker        rfe r1!
1897*9880d681SAndroid Build Coastguard Worker
1898*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda	r2                      @ encoding: [0x00,0x0a,0x12,0xf8]
1899*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb	r3                      @ encoding: [0x00,0x0a,0x13,0xf9]
1900*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia	r5                      @ encoding: [0x00,0x0a,0x95,0xf8]
1901*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib	r6                      @ encoding: [0x00,0x0a,0x96,0xf9]
1902*9880d681SAndroid Build Coastguard Worker
1903*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda	r4!                     @ encoding: [0x00,0x0a,0x34,0xf8]
1904*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb	r7!                     @ encoding: [0x00,0x0a,0x37,0xf9]
1905*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia	r9!                     @ encoding: [0x00,0x0a,0xb9,0xf8]
1906*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib	r8!                     @ encoding: [0x00,0x0a,0xb8,0xf9]
1907*9880d681SAndroid Build Coastguard Worker
1908*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda	r2                      @ encoding: [0x00,0x0a,0x12,0xf8]
1909*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb	r3                      @ encoding: [0x00,0x0a,0x13,0xf9]
1910*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia	r5                      @ encoding: [0x00,0x0a,0x95,0xf8]
1911*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib	r6                      @ encoding: [0x00,0x0a,0x96,0xf9]
1912*9880d681SAndroid Build Coastguard Worker
1913*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeda	r4!                     @ encoding: [0x00,0x0a,0x34,0xf8]
1914*9880d681SAndroid Build Coastguard Worker@ CHECK: rfedb	r7!                     @ encoding: [0x00,0x0a,0x37,0xf9]
1915*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia	r9!                     @ encoding: [0x00,0x0a,0xb9,0xf8]
1916*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeib	r8!                     @ encoding: [0x00,0x0a,0xb8,0xf9]
1917*9880d681SAndroid Build Coastguard Worker
1918*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia	r1                      @ encoding: [0x00,0x0a,0x91,0xf8]
1919*9880d681SAndroid Build Coastguard Worker@ CHECK: rfeia	r1!                     @ encoding: [0x00,0x0a,0xb1,0xf8]
1920*9880d681SAndroid Build Coastguard Worker
1921*9880d681SAndroid Build Coastguard Worker
1922*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1923*9880d681SAndroid Build Coastguard Worker@ ROR
1924*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1925*9880d681SAndroid Build Coastguard Worker	ror r2, r4, #31
1926*9880d681SAndroid Build Coastguard Worker	ror r2, r4, #1
1927*9880d681SAndroid Build Coastguard Worker	ror r2, r4, #0
1928*9880d681SAndroid Build Coastguard Worker	ror r4, #1
1929*9880d681SAndroid Build Coastguard Worker
1930*9880d681SAndroid Build Coastguard Worker@ CHECK: ror	r2, r4, #31             @ encoding: [0xe4,0x2f,0xa0,0xe1]
1931*9880d681SAndroid Build Coastguard Worker@ CHECK: ror	r2, r4, #1              @ encoding: [0xe4,0x20,0xa0,0xe1]
1932*9880d681SAndroid Build Coastguard Worker@ CHECK: mov	r2, r4                  @ encoding: [0x04,0x20,0xa0,0xe1]
1933*9880d681SAndroid Build Coastguard Worker@ CHECK: ror	r4, r4, #1              @ encoding: [0xe4,0x40,0xa0,0xe1]
1934*9880d681SAndroid Build Coastguard Worker
1935*9880d681SAndroid Build Coastguard Worker
1936*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1937*9880d681SAndroid Build Coastguard Worker@ RSB
1938*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
1939*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, #0xf000
1940*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, $0xf000
1941*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, 0xf000
1942*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, #(0xff << 16)
1943*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, #-2147483638
1944*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, #42, #2
1945*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, #40, #2
1946*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, $40, $2
1947*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, 40, 2
1948*9880d681SAndroid Build Coastguard Worker        rsb r7, r8, (2 * 20), (1 << 1)
1949*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, r6
1950*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, r6, lsl #5
1951*9880d681SAndroid Build Coastguard Worker        rsblo r4, r5, r6, lsr #5
1952*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, r6, lsr #5
1953*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, r6, asr #5
1954*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, r6, ror #5
1955*9880d681SAndroid Build Coastguard Worker        rsb r6, r7, r8, lsl r9
1956*9880d681SAndroid Build Coastguard Worker        rsb r6, r7, r8, lsr r9
1957*9880d681SAndroid Build Coastguard Worker        rsb r6, r7, r8, asr r9
1958*9880d681SAndroid Build Coastguard Worker        rsble r6, r7, r8, ror r9
1959*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, r6, rrx
1960*9880d681SAndroid Build Coastguard Worker
1961*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
1962*9880d681SAndroid Build Coastguard Worker        rsb r5, #0xf000
1963*9880d681SAndroid Build Coastguard Worker        rsb r5, $0xf000
1964*9880d681SAndroid Build Coastguard Worker        rsb r5, 0xf000
1965*9880d681SAndroid Build Coastguard Worker        rsb r7, #(0xff << 16)
1966*9880d681SAndroid Build Coastguard Worker        rsb r7, #-2147483638
1967*9880d681SAndroid Build Coastguard Worker        rsb r7, #42, #2
1968*9880d681SAndroid Build Coastguard Worker        rsb r7, #40, #2
1969*9880d681SAndroid Build Coastguard Worker        rsb r7, $40, $2
1970*9880d681SAndroid Build Coastguard Worker        rsb r7, 40, 2
1971*9880d681SAndroid Build Coastguard Worker        rsb r7, (2 * 20), (1 << 1)
1972*9880d681SAndroid Build Coastguard Worker        rsb r4, r5
1973*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, lsl #5
1974*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, lsr #5
1975*9880d681SAndroid Build Coastguard Worker        rsbne r4, r5, lsr #5
1976*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, asr #5
1977*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, ror #5
1978*9880d681SAndroid Build Coastguard Worker        rsbgt r6, r7, lsl r9
1979*9880d681SAndroid Build Coastguard Worker        rsb r6, r7, lsr r9
1980*9880d681SAndroid Build Coastguard Worker        rsb r6, r7, asr r9
1981*9880d681SAndroid Build Coastguard Worker        rsb r6, r7, ror r9
1982*9880d681SAndroid Build Coastguard Worker        rsb r4, r5, rrx
1983*9880d681SAndroid Build Coastguard Worker
1984*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x65,0xe2]
1985*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x65,0xe2]
1986*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x65,0xe2]
1987*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r8, #16711680       @ encoding: [0xff,0x78,0x68,0xe2]
1988*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x68,0xe2]
1989*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x68,0xe2]
1990*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x68,0xe2]
1991*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x68,0xe2]
1992*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x68,0xe2]
1993*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x68,0xe2]
1994*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, r6              @ encoding: [0x06,0x40,0x65,0xe0]
1995*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x65,0xe0]
1996*9880d681SAndroid Build Coastguard Worker@ CHECK: rsblo	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x65,0x30]
1997*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x65,0xe0]
1998*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x65,0xe0]
1999*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x65,0xe0]
2000*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x67,0xe0]
2001*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x67,0xe0]
2002*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x67,0xe0]
2003*9880d681SAndroid Build Coastguard Worker@ CHECK: rsble	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x67,0xd0]
2004*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r5, r6, rrx         @ encoding: [0x66,0x40,0x65,0xe0]
2005*9880d681SAndroid Build Coastguard Worker
2006*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x65,0xe2]
2007*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x65,0xe2]
2008*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x65,0xe2]
2009*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #16711680       @ encoding: [0xff,0x78,0x67,0xe2]
2010*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x67,0xe2]
2011*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x67,0xe2]
2012*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x67,0xe2]
2013*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x67,0xe2]
2014*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x67,0xe2]
2015*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x67,0xe2]
2016*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r4, r5              @ encoding: [0x05,0x40,0x64,0xe0]
2017*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x64,0xe0]
2018*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x64,0xe0]
2019*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbne	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x64,0x10]
2020*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x64,0xe0]
2021*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x64,0xe0]
2022*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbgt	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x66,0xc0]
2023*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x66,0xe0]
2024*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x66,0xe0]
2025*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x66,0xe0]
2026*9880d681SAndroid Build Coastguard Worker@ CHECK: rsb	r4, r4, r5, rrx         @ encoding: [0x65,0x40,0x64,0xe0]
2027*9880d681SAndroid Build Coastguard Worker
2028*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2029*9880d681SAndroid Build Coastguard Worker@ RSBS
2030*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2031*9880d681SAndroid Build Coastguard Worker    rsbs r7, #16711680
2032*9880d681SAndroid Build Coastguard Worker    rsbs r7, $16711680
2033*9880d681SAndroid Build Coastguard Worker    rsbs r7, 16711680
2034*9880d681SAndroid Build Coastguard Worker    rsbs r7, #(0xff << 16)
2035*9880d681SAndroid Build Coastguard Worker    rsbs r7, r8, #-2147483638
2036*9880d681SAndroid Build Coastguard Worker    rsbs r7, r8, #42, #2
2037*9880d681SAndroid Build Coastguard Worker    rsbs r7, r8, #40, #2
2038*9880d681SAndroid Build Coastguard Worker    rsbs r7, r8, $40, $2
2039*9880d681SAndroid Build Coastguard Worker    rsbs r7, r8, 40, 2
2040*9880d681SAndroid Build Coastguard Worker    rsbs r7, r8, (2 * 20), (1 << 1)
2041*9880d681SAndroid Build Coastguard Worker
2042*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs	r7, r7, #16711680       @ encoding: [0xff,0x78,0x77,0xe2]
2043*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs	r7, r7, #16711680       @ encoding: [0xff,0x78,0x77,0xe2]
2044*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs	r7, r7, #16711680       @ encoding: [0xff,0x78,0x77,0xe2]
2045*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs	r7, r7, #16711680       @ encoding: [0xff,0x78,0x77,0xe2]
2046*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs   r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x78,0xe2]
2047*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs   r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x78,0xe2]
2048*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x78,0xe2]
2049*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x78,0xe2]
2050*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x78,0xe2]
2051*9880d681SAndroid Build Coastguard Worker@ CHECK: rsbs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x78,0xe2]
2052*9880d681SAndroid Build Coastguard Worker
2053*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2054*9880d681SAndroid Build Coastguard Worker@ RSC
2055*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2056*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, #0xf000
2057*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, $0xf000
2058*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, 0xf000
2059*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, #(0xff << 16)
2060*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, #-2147483638
2061*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, #42, #2
2062*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, #40, #2
2063*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, $40, $2
2064*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, 40, 2
2065*9880d681SAndroid Build Coastguard Worker        rsc r7, r8, (2 * 20), (1 << 1)
2066*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, r6
2067*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, r6, lsl #5
2068*9880d681SAndroid Build Coastguard Worker        rsclo r4, r5, r6, lsr #5
2069*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, r6, lsr #5
2070*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, r6, asr #5
2071*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, r6, ror #5
2072*9880d681SAndroid Build Coastguard Worker        rsc r6, r7, r8, lsl r9
2073*9880d681SAndroid Build Coastguard Worker        rsc r6, r7, r8, lsr r9
2074*9880d681SAndroid Build Coastguard Worker        rsc r6, r7, r8, asr r9
2075*9880d681SAndroid Build Coastguard Worker        rscle r6, r7, r8, ror r9
2076*9880d681SAndroid Build Coastguard Worker        rscs r1, r8, #4064
2077*9880d681SAndroid Build Coastguard Worker
2078*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
2079*9880d681SAndroid Build Coastguard Worker        rsc r5, #0xf000
2080*9880d681SAndroid Build Coastguard Worker        rsc r5, $0xf000
2081*9880d681SAndroid Build Coastguard Worker        rsc r5, 0xf000
2082*9880d681SAndroid Build Coastguard Worker        rsc r7, #(0xff << 16)
2083*9880d681SAndroid Build Coastguard Worker        rsc r7, #-2147483638
2084*9880d681SAndroid Build Coastguard Worker        rsc r7, #42, #2
2085*9880d681SAndroid Build Coastguard Worker        rsc r7, #40, #2
2086*9880d681SAndroid Build Coastguard Worker        rsc r7, $40, $2
2087*9880d681SAndroid Build Coastguard Worker        rsc r7, 40, 2
2088*9880d681SAndroid Build Coastguard Worker        rsc r7, (2 * 20), (1 << 1)
2089*9880d681SAndroid Build Coastguard Worker        rsc r4, r5
2090*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, lsl #5
2091*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, lsr #5
2092*9880d681SAndroid Build Coastguard Worker        rscne r4, r5, lsr #5
2093*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, asr #5
2094*9880d681SAndroid Build Coastguard Worker        rsc r4, r5, ror #5
2095*9880d681SAndroid Build Coastguard Worker        rscgt r6, r7, lsl r9
2096*9880d681SAndroid Build Coastguard Worker        rsc r6, r7, lsr r9
2097*9880d681SAndroid Build Coastguard Worker        rsc r6, r7, asr r9
2098*9880d681SAndroid Build Coastguard Worker        rsc r6, r7, ror r9
2099*9880d681SAndroid Build Coastguard Worker
2100*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xe5,0xe2]
2101*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xe5,0xe2]
2102*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xe5,0xe2]
2103*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #16711680       @ encoding: [0xff,0x78,0xe8,0xe2]
2104*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xe8,0xe2]
2105*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xe8,0xe2]
2106*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xe8,0xe2]
2107*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xe8,0xe2]
2108*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xe8,0xe2]
2109*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xe8,0xe2]
2110*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, r6              @ encoding: [0x06,0x40,0xe5,0xe0]
2111*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0xe5,0xe0]
2112*9880d681SAndroid Build Coastguard Worker@ CHECK: rsclo	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xe5,0x30]
2113*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xe5,0xe0]
2114*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0xe5,0xe0]
2115*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0xe5,0xe0]
2116*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xe7,0xe0]
2117*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xe7,0xe0]
2118*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xe7,0xe0]
2119*9880d681SAndroid Build Coastguard Worker@ CHECK: rscle	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xe7,0xd0]
2120*9880d681SAndroid Build Coastguard Worker@ CHECK: rscs	r1, r8, #4064           @ encoding: [0xfe,0x1e,0xf8,0xe2]
2121*9880d681SAndroid Build Coastguard Worker
2122*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xe5,0xe2]
2123*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xe5,0xe2]
2124*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xe5,0xe2]
2125*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #16711680       @ encoding: [0xff,0x78,0xe7,0xe2]
2126*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0xe7,0xe2]
2127*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0xe7,0xe2]
2128*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xe7,0xe2]
2129*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xe7,0xe2]
2130*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xe7,0xe2]
2131*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xe7,0xe2]
2132*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r4, r5              @ encoding: [0x05,0x40,0xe4,0xe0]
2133*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0xe4,0xe0]
2134*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xe4,0xe0]
2135*9880d681SAndroid Build Coastguard Worker@ CHECK: rscne	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xe4,0x10]
2136*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0xe4,0xe0]
2137*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0xe4,0xe0]
2138*9880d681SAndroid Build Coastguard Worker@ CHECK: rscgt	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xe6,0xc0]
2139*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xe6,0xe0]
2140*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xe6,0xe0]
2141*9880d681SAndroid Build Coastguard Worker@ CHECK: rsc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xe6,0xe0]
2142*9880d681SAndroid Build Coastguard Worker
2143*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2144*9880d681SAndroid Build Coastguard Worker@ RRX/RRXS
2145*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2146*9880d681SAndroid Build Coastguard Worker
2147*9880d681SAndroid Build Coastguard Worker         rrx r0, r1
2148*9880d681SAndroid Build Coastguard Worker	 rrx sp, pc
2149*9880d681SAndroid Build Coastguard Worker	 rrx pc, lr
2150*9880d681SAndroid Build Coastguard Worker	 rrx lr, sp
2151*9880d681SAndroid Build Coastguard Worker
2152*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx	r0, r1                  @ encoding: [0x61,0x00,0xa0,0xe1]
2153*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx	sp, pc                  @ encoding: [0x6f,0xd0,0xa0,0xe1]
2154*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx	pc, lr                  @ encoding: [0x6e,0xf0,0xa0,0xe1]
2155*9880d681SAndroid Build Coastguard Worker@ CHECK: rrx	lr, sp                  @ encoding: [0x6d,0xe0,0xa0,0xe1]
2156*9880d681SAndroid Build Coastguard Worker
2157*9880d681SAndroid Build Coastguard Worker         rrxs r0, r1
2158*9880d681SAndroid Build Coastguard Worker	 rrxs sp, pc
2159*9880d681SAndroid Build Coastguard Worker	 rrxs pc, lr
2160*9880d681SAndroid Build Coastguard Worker	 rrxs lr, sp
2161*9880d681SAndroid Build Coastguard Worker
2162*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs	r0, r1                  @ encoding: [0x61,0x00,0xb0,0xe1]
2163*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs	sp, pc                  @ encoding: [0x6f,0xd0,0xb0,0xe1]
2164*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs	pc, lr                  @ encoding: [0x6e,0xf0,0xb0,0xe1]
2165*9880d681SAndroid Build Coastguard Worker@CHECK: rrxs	lr, sp                  @ encoding: [0x6d,0xe0,0xb0,0xe1]
2166*9880d681SAndroid Build Coastguard Worker
2167*9880d681SAndroid Build Coastguard Worker@ ------------------------------------------------------------------------------
2168*9880d681SAndroid Build Coastguard Worker@ SADD16/SADD8
2169*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2170*9880d681SAndroid Build Coastguard Worker        sadd16 r1, r2, r3
2171*9880d681SAndroid Build Coastguard Worker        sadd16gt r1, r2, r3
2172*9880d681SAndroid Build Coastguard Worker        sadd8 r1, r2, r3
2173*9880d681SAndroid Build Coastguard Worker        sadd8le r1, r2, r3
2174*9880d681SAndroid Build Coastguard Worker
2175*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x12,0xe6]
2176*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x12,0xc6]
2177*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x12,0xe6]
2178*9880d681SAndroid Build Coastguard Worker@ CHECK: sadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x12,0xd6]
2179*9880d681SAndroid Build Coastguard Worker
2180*9880d681SAndroid Build Coastguard Worker
2181*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2182*9880d681SAndroid Build Coastguard Worker@ SASX
2183*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2184*9880d681SAndroid Build Coastguard Worker        sasx r9, r12, r0
2185*9880d681SAndroid Build Coastguard Worker        sasxeq r9, r12, r0
2186*9880d681SAndroid Build Coastguard Worker
2187*9880d681SAndroid Build Coastguard Worker@ CHECK: sasx	r9, r12, r0             @ encoding: [0x30,0x9f,0x1c,0xe6]
2188*9880d681SAndroid Build Coastguard Worker@ CHECK: sasxeq	r9, r12, r0             @ encoding: [0x30,0x9f,0x1c,0x06]
2189*9880d681SAndroid Build Coastguard Worker
2190*9880d681SAndroid Build Coastguard Worker
2191*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2192*9880d681SAndroid Build Coastguard Worker@ SBC
2193*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2194*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, #0xf000
2195*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, $0xf000
2196*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, 0xf000
2197*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, #(0xff << 16)
2198*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, #-2147483638
2199*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, #42, #2
2200*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, #40, #2
2201*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, $40, $2
2202*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, 40, 2
2203*9880d681SAndroid Build Coastguard Worker        sbc r7, r8, (20 * 2), (1 << 1)
2204*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, r6
2205*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, r6, lsl #5
2206*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, r6, lsr #5
2207*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, r6, lsr #5
2208*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, r6, asr #5
2209*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, r6, ror #5
2210*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, r8, lsl r9
2211*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, r8, lsr r9
2212*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, r8, asr r9
2213*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, r8, ror r9
2214*9880d681SAndroid Build Coastguard Worker
2215*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
2216*9880d681SAndroid Build Coastguard Worker        sbc r5, #0xf000
2217*9880d681SAndroid Build Coastguard Worker        sbc r5, $0xf000
2218*9880d681SAndroid Build Coastguard Worker        sbc r5, 0xf000
2219*9880d681SAndroid Build Coastguard Worker        sbc r7, #(0xff << 16)
2220*9880d681SAndroid Build Coastguard Worker        sbc r7, #-2147483638
2221*9880d681SAndroid Build Coastguard Worker        sbc r7, #42, #2
2222*9880d681SAndroid Build Coastguard Worker        sbc r7, #40, #2
2223*9880d681SAndroid Build Coastguard Worker        sbc r7, $40, $2
2224*9880d681SAndroid Build Coastguard Worker        sbc r7, 40, 2
2225*9880d681SAndroid Build Coastguard Worker        sbc r7, (20 * 2), (1 << 1)
2226*9880d681SAndroid Build Coastguard Worker        sbc r4, r5
2227*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, lsl #5
2228*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, lsr #5
2229*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, lsr #5
2230*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, asr #5
2231*9880d681SAndroid Build Coastguard Worker        sbc r4, r5, ror #5
2232*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, lsl r9
2233*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, lsr r9
2234*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, asr r9
2235*9880d681SAndroid Build Coastguard Worker        sbc r6, r7, ror r9
2236*9880d681SAndroid Build Coastguard Worker
2237*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xc5,0xe2]
2238*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xc5,0xe2]
2239*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, #61440          @ encoding: [0x0f,0x4a,0xc5,0xe2]
2240*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r8, #16711680       @ encoding: [0xff,0x78,0xc8,0xe2]
2241*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xc8,0xe2]
2242*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0xc8,0xe2]
2243*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe2]
2244*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe2]
2245*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe2]
2246*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc    r7, r8, #40, #2         @ encoding: [0x28,0x71,0xc8,0xe2]
2247*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, r6              @ encoding: [0x06,0x40,0xc5,0xe0]
2248*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0xc5,0xe0]
2249*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xc5,0xe0]
2250*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0xc5,0xe0]
2251*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0xc5,0xe0]
2252*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0xc5,0xe0]
2253*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0xc7,0xe0]
2254*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0xc7,0xe0]
2255*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0xc7,0xe0]
2256*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0xc7,0xe0]
2257*9880d681SAndroid Build Coastguard Worker
2258*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xc5,0xe2]
2259*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xc5,0xe2]
2260*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r5, r5, #61440          @ encoding: [0x0f,0x5a,0xc5,0xe2]
2261*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #16711680       @ encoding: [0xff,0x78,0xc7,0xe2]
2262*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0xc7,0xe2]
2263*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0xc7,0xe2]
2264*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe2]
2265*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe2]
2266*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe2]
2267*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r7, r7, #40, #2         @ encoding: [0x28,0x71,0xc7,0xe2]
2268*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r4, r5              @ encoding: [0x05,0x40,0xc4,0xe0]
2269*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0xc4,0xe0]
2270*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xc4,0xe0]
2271*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0xc4,0xe0]
2272*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0xc4,0xe0]
2273*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0xc4,0xe0]
2274*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0xc6,0xe0]
2275*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0xc6,0xe0]
2276*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0xc6,0xe0]
2277*9880d681SAndroid Build Coastguard Worker@ CHECK: sbc	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0xc6,0xe0]
2278*9880d681SAndroid Build Coastguard Worker
2279*9880d681SAndroid Build Coastguard Worker
2280*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2281*9880d681SAndroid Build Coastguard Worker@ SBFX
2282*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2283*9880d681SAndroid Build Coastguard Worker        sbfx r4, r5, #16, #1
2284*9880d681SAndroid Build Coastguard Worker        sbfxgt r4, r5, #16, #16
2285*9880d681SAndroid Build Coastguard Worker
2286*9880d681SAndroid Build Coastguard Worker@ CHECK: sbfx	r4, r5, #16, #1         @ encoding: [0x55,0x48,0xa0,0xe7]
2287*9880d681SAndroid Build Coastguard Worker@ CHECK: sbfxgt	r4, r5, #16, #16        @ encoding: [0x55,0x48,0xaf,0xc7]
2288*9880d681SAndroid Build Coastguard Worker
2289*9880d681SAndroid Build Coastguard Worker
2290*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2291*9880d681SAndroid Build Coastguard Worker@ SEL
2292*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2293*9880d681SAndroid Build Coastguard Worker        sel r9, r2, r1
2294*9880d681SAndroid Build Coastguard Worker        selne r9, r2, r1
2295*9880d681SAndroid Build Coastguard Worker
2296*9880d681SAndroid Build Coastguard Worker@ CHECK: sel	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0xe6]
2297*9880d681SAndroid Build Coastguard Worker@ CHECK: selne	r9, r2, r1              @ encoding: [0xb1,0x9f,0x82,0x16]
2298*9880d681SAndroid Build Coastguard Worker
2299*9880d681SAndroid Build Coastguard Worker
2300*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2301*9880d681SAndroid Build Coastguard Worker@ SETEND
2302*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2303*9880d681SAndroid Build Coastguard Worker        setend be
2304*9880d681SAndroid Build Coastguard Worker        setend BE
2305*9880d681SAndroid Build Coastguard Worker        setend le
2306*9880d681SAndroid Build Coastguard Worker        setend LE
2307*9880d681SAndroid Build Coastguard Worker
2308*9880d681SAndroid Build Coastguard Worker@ CHECK: setend	be                      @ encoding: [0x00,0x02,0x01,0xf1]
2309*9880d681SAndroid Build Coastguard Worker@ CHECK: setend	be                      @ encoding: [0x00,0x02,0x01,0xf1]
2310*9880d681SAndroid Build Coastguard Worker@ CHECK: setend	le                      @ encoding: [0x00,0x00,0x01,0xf1]
2311*9880d681SAndroid Build Coastguard Worker@ CHECK: setend	le                      @ encoding: [0x00,0x00,0x01,0xf1]
2312*9880d681SAndroid Build Coastguard Worker
2313*9880d681SAndroid Build Coastguard Worker
2314*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2315*9880d681SAndroid Build Coastguard Worker@ SEV
2316*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2317*9880d681SAndroid Build Coastguard Worker        sev
2318*9880d681SAndroid Build Coastguard Worker        seveq
2319*9880d681SAndroid Build Coastguard Worker
2320*9880d681SAndroid Build Coastguard Worker@ CHECK: sev                            @ encoding: [0x04,0xf0,0x20,0xe3]
2321*9880d681SAndroid Build Coastguard Worker@ CHECK: seveq                          @ encoding: [0x04,0xf0,0x20,0x03]
2322*9880d681SAndroid Build Coastguard Worker
2323*9880d681SAndroid Build Coastguard Worker
2324*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2325*9880d681SAndroid Build Coastguard Worker@ SHADD16/SHADD8
2326*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2327*9880d681SAndroid Build Coastguard Worker        shadd16 r4, r8, r2
2328*9880d681SAndroid Build Coastguard Worker        shadd16gt r4, r8, r2
2329*9880d681SAndroid Build Coastguard Worker        shadd8 r4, r8, r2
2330*9880d681SAndroid Build Coastguard Worker        shadd8gt r4, r8, r2
2331*9880d681SAndroid Build Coastguard Worker
2332*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd16	r4, r8, r2      @ encoding: [0x12,0x4f,0x38,0xe6]
2333*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd16gt	r4, r8, r2      @ encoding: [0x12,0x4f,0x38,0xc6]
2334*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd8	r4, r8, r2              @ encoding: [0x92,0x4f,0x38,0xe6]
2335*9880d681SAndroid Build Coastguard Worker@ CHECK: shadd8gt	r4, r8, r2      @ encoding: [0x92,0x4f,0x38,0xc6]
2336*9880d681SAndroid Build Coastguard Worker
2337*9880d681SAndroid Build Coastguard Worker
2338*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2339*9880d681SAndroid Build Coastguard Worker@ SHASX
2340*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2341*9880d681SAndroid Build Coastguard Worker        shasx r4, r8, r2
2342*9880d681SAndroid Build Coastguard Worker        shasxgt r4, r8, r2
2343*9880d681SAndroid Build Coastguard Worker
2344*9880d681SAndroid Build Coastguard Worker@ CHECK: shasx	r4, r8, r2              @ encoding: [0x32,0x4f,0x38,0xe6]
2345*9880d681SAndroid Build Coastguard Worker@ CHECK: shasxgt r4, r8, r2             @ encoding: [0x32,0x4f,0x38,0xc6]
2346*9880d681SAndroid Build Coastguard Worker
2347*9880d681SAndroid Build Coastguard Worker
2348*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2349*9880d681SAndroid Build Coastguard Worker@ SHSUB16/SHSUB8
2350*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2351*9880d681SAndroid Build Coastguard Worker        shsub16 r4, r8, r2
2352*9880d681SAndroid Build Coastguard Worker        shsub16gt r4, r8, r2
2353*9880d681SAndroid Build Coastguard Worker        shsub8 r4, r8, r2
2354*9880d681SAndroid Build Coastguard Worker        shsub8gt r4, r8, r2
2355*9880d681SAndroid Build Coastguard Worker
2356*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub16	r4, r8, r2      @ encoding: [0x72,0x4f,0x38,0xe6]
2357*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub16gt	r4, r8, r2      @ encoding: [0x72,0x4f,0x38,0xc6]
2358*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub8	r4, r8, r2              @ encoding: [0xf2,0x4f,0x38,0xe6]
2359*9880d681SAndroid Build Coastguard Worker@ CHECK: shsub8gt	r4, r8, r2      @ encoding: [0xf2,0x4f,0x38,0xc6]
2360*9880d681SAndroid Build Coastguard Worker
2361*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2362*9880d681SAndroid Build Coastguard Worker@ SMLABB/SMLABT/SMLATB/SMLATT
2363*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2364*9880d681SAndroid Build Coastguard Worker        smlabb r3, r1, r9, r0
2365*9880d681SAndroid Build Coastguard Worker        smlabt r5, r6, r4, r1
2366*9880d681SAndroid Build Coastguard Worker        smlatb r4, r2, r3, r2
2367*9880d681SAndroid Build Coastguard Worker        smlatt r8, r3, r8, r4
2368*9880d681SAndroid Build Coastguard Worker        smlabbge r3, r1, r9, r0
2369*9880d681SAndroid Build Coastguard Worker        smlabtle r5, r6, r4, r1
2370*9880d681SAndroid Build Coastguard Worker        smlatbne r4, r2, r3, r2
2371*9880d681SAndroid Build Coastguard Worker        smlatteq r8, r3, r8, r4
2372*9880d681SAndroid Build Coastguard Worker
2373*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabb	r3, r1, r9, r0          @ encoding: [0x81,0x09,0x03,0xe1]
2374*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabt	r5, r6, r4, r1          @ encoding: [0xc6,0x14,0x05,0xe1]
2375*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatb	r4, r2, r3, r2          @ encoding: [0xa2,0x23,0x04,0xe1]
2376*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatt	r8, r3, r8, r4          @ encoding: [0xe3,0x48,0x08,0xe1]
2377*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabbge	r3, r1, r9, r0  @ encoding: [0x81,0x09,0x03,0xa1]
2378*9880d681SAndroid Build Coastguard Worker@ CHECK: smlabtle	r5, r6, r4, r1  @ encoding: [0xc6,0x14,0x05,0xd1]
2379*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatbne	r4, r2, r3, r2  @ encoding: [0xa2,0x23,0x04,0x11]
2380*9880d681SAndroid Build Coastguard Worker@ CHECK: smlatteq	r8, r3, r8, r4  @ encoding: [0xe3,0x48,0x08,0x01]
2381*9880d681SAndroid Build Coastguard Worker
2382*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2383*9880d681SAndroid Build Coastguard Worker@ SMLAD/SMLADX
2384*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2385*9880d681SAndroid Build Coastguard Worker        smlad r2, r3, r5, r8
2386*9880d681SAndroid Build Coastguard Worker        smladx r2, r3, r5, r8
2387*9880d681SAndroid Build Coastguard Worker        smladeq r2, r3, r5, r8
2388*9880d681SAndroid Build Coastguard Worker        smladxhi r2, r3, r5, r8
2389*9880d681SAndroid Build Coastguard Worker
2390*9880d681SAndroid Build Coastguard Worker@ CHECK: smlad	r2, r3, r5, r8          @ encoding: [0x13,0x85,0x02,0xe7]
2391*9880d681SAndroid Build Coastguard Worker@ CHECK: smladx	r2, r3, r5, r8          @ encoding: [0x33,0x85,0x02,0xe7]
2392*9880d681SAndroid Build Coastguard Worker@ CHECK: smladeq	r2, r3, r5, r8  @ encoding: [0x13,0x85,0x02,0x07]
2393*9880d681SAndroid Build Coastguard Worker@ CHECK: smladxhi	r2, r3, r5, r8  @ encoding: [0x33,0x85,0x02,0x87]
2394*9880d681SAndroid Build Coastguard Worker
2395*9880d681SAndroid Build Coastguard Worker
2396*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2397*9880d681SAndroid Build Coastguard Worker@ SMLAL
2398*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2399*9880d681SAndroid Build Coastguard Worker        smlal r2, r3, r5, r8
2400*9880d681SAndroid Build Coastguard Worker        smlals r2, r3, r5, r8
2401*9880d681SAndroid Build Coastguard Worker        smlaleq r2, r3, r5, r8
2402*9880d681SAndroid Build Coastguard Worker        smlalshi r2, r3, r5, r8
2403*9880d681SAndroid Build Coastguard Worker
2404*9880d681SAndroid Build Coastguard Worker@ CHECK: smlal	r2, r3, r5, r8          @ encoding: [0x95,0x28,0xe3,0xe0]
2405*9880d681SAndroid Build Coastguard Worker@ CHECK: smlals	r2, r3, r5, r8          @ encoding: [0x95,0x28,0xf3,0xe0]
2406*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaleq	r2, r3, r5, r8  @ encoding: [0x95,0x28,0xe3,0x00]
2407*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalshi	r2, r3, r5, r8  @ encoding: [0x95,0x28,0xf3,0x80]
2408*9880d681SAndroid Build Coastguard Worker
2409*9880d681SAndroid Build Coastguard Worker
2410*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2411*9880d681SAndroid Build Coastguard Worker@ SMLALBB/SMLALBT/SMLALTB/SMLALTT
2412*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2413*9880d681SAndroid Build Coastguard Worker        smlalbb r3, r1, r9, r0
2414*9880d681SAndroid Build Coastguard Worker        smlalbt r5, r6, r4, r1
2415*9880d681SAndroid Build Coastguard Worker        smlaltb r4, r2, r3, r2
2416*9880d681SAndroid Build Coastguard Worker        smlaltt r8, r3, r8, r4
2417*9880d681SAndroid Build Coastguard Worker        smlalbbge r3, r1, r9, r0
2418*9880d681SAndroid Build Coastguard Worker        smlalbtle r5, r6, r4, r1
2419*9880d681SAndroid Build Coastguard Worker        smlaltbne r4, r2, r3, r2
2420*9880d681SAndroid Build Coastguard Worker        smlaltteq r8, r3, r8, r4
2421*9880d681SAndroid Build Coastguard Worker
2422*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbb	r3, r1, r9, r0  @ encoding: [0x89,0x30,0x41,0xe1]
2423*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbt	r5, r6, r4, r1  @ encoding: [0xc4,0x51,0x46,0xe1]
2424*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltb	r4, r2, r3, r2  @ encoding: [0xa3,0x42,0x42,0xe1]
2425*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltt	r8, r3, r8, r4  @ encoding: [0xe8,0x84,0x43,0xe1]
2426*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbbge	r3, r1, r9, r0  @ encoding: [0x89,0x30,0x41,0xa1]
2427*9880d681SAndroid Build Coastguard Worker@ CHECK: smlalbtle	r5, r6, r4, r1  @ encoding: [0xc4,0x51,0x46,0xd1]
2428*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltbne	r4, r2, r3, r2  @ encoding: [0xa3,0x42,0x42,0x11]
2429*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaltteq	r8, r3, r8, r4  @ encoding: [0xe8,0x84,0x43,0x01]
2430*9880d681SAndroid Build Coastguard Worker
2431*9880d681SAndroid Build Coastguard Worker
2432*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2433*9880d681SAndroid Build Coastguard Worker@ SMLALD/SMLALDX
2434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2435*9880d681SAndroid Build Coastguard Worker        smlald r2, r3, r5, r8
2436*9880d681SAndroid Build Coastguard Worker        smlaldx r2, r3, r5, r8
2437*9880d681SAndroid Build Coastguard Worker        smlaldeq r2, r3, r5, r8
2438*9880d681SAndroid Build Coastguard Worker        smlaldxhi r2, r3, r5, r8
2439*9880d681SAndroid Build Coastguard Worker
2440*9880d681SAndroid Build Coastguard Worker@ CHECK: smlald	r2, r3, r5, r8          @ encoding: [0x15,0x28,0x43,0xe7]
2441*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldx	r2, r3, r5, r8  @ encoding: [0x35,0x28,0x43,0xe7]
2442*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldeq	r2, r3, r5, r8  @ encoding: [0x15,0x28,0x43,0x07]
2443*9880d681SAndroid Build Coastguard Worker@ CHECK: smlaldxhi	r2, r3, r5, r8  @ encoding: [0x35,0x28,0x43,0x87]
2444*9880d681SAndroid Build Coastguard Worker
2445*9880d681SAndroid Build Coastguard Worker
2446*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2447*9880d681SAndroid Build Coastguard Worker@ SMLAWB/SMLAWT
2448*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2449*9880d681SAndroid Build Coastguard Worker        smlawb r2, r3, r10, r8
2450*9880d681SAndroid Build Coastguard Worker        smlawt r8, r3, r5, r9
2451*9880d681SAndroid Build Coastguard Worker        smlawbeq r2, r7, r5, r8
2452*9880d681SAndroid Build Coastguard Worker        smlawthi r1, r3, r0, r8
2453*9880d681SAndroid Build Coastguard Worker
2454*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawb	r2, r3, r10, r8         @ encoding: [0x83,0x8a,0x22,0xe1]
2455*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawt	r8, r3, r5, r9          @ encoding: [0xc3,0x95,0x28,0xe1]
2456*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawbeq	r2, r7, r5, r8  @ encoding: [0x87,0x85,0x22,0x01]
2457*9880d681SAndroid Build Coastguard Worker@ CHECK: smlawthi	r1, r3, r0, r8  @ encoding: [0xc3,0x80,0x21,0x81]
2458*9880d681SAndroid Build Coastguard Worker
2459*9880d681SAndroid Build Coastguard Worker
2460*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2461*9880d681SAndroid Build Coastguard Worker@ SMLSD/SMLSDX
2462*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2463*9880d681SAndroid Build Coastguard Worker        smlsd r2, r3, r5, r8
2464*9880d681SAndroid Build Coastguard Worker        smlsdx r2, r3, r5, r8
2465*9880d681SAndroid Build Coastguard Worker        smlsdeq r2, r3, r5, r8
2466*9880d681SAndroid Build Coastguard Worker        smlsdxhi r2, r3, r5, r8
2467*9880d681SAndroid Build Coastguard Worker
2468*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsd	r2, r3, r5, r8          @ encoding: [0x53,0x85,0x02,0xe7]
2469*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdx	r2, r3, r5, r8          @ encoding: [0x73,0x85,0x02,0xe7]
2470*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdeq	r2, r3, r5, r8  @ encoding: [0x53,0x85,0x02,0x07]
2471*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsdxhi	r2, r3, r5, r8  @ encoding: [0x73,0x85,0x02,0x87]
2472*9880d681SAndroid Build Coastguard Worker
2473*9880d681SAndroid Build Coastguard Worker
2474*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2475*9880d681SAndroid Build Coastguard Worker@ SMLSLD/SMLSLDX
2476*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2477*9880d681SAndroid Build Coastguard Worker        smlsld r2, r9, r5, r1
2478*9880d681SAndroid Build Coastguard Worker        smlsldx r4, r11, r2, r8
2479*9880d681SAndroid Build Coastguard Worker        smlsldeq r8, r2, r5, r6
2480*9880d681SAndroid Build Coastguard Worker        smlsldxhi r1, r0, r3, r8
2481*9880d681SAndroid Build Coastguard Worker
2482*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsld	r2, r9, r5, r1          @ encoding: [0x55,0x21,0x49,0xe7]
2483*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldx	r4, r11, r2, r8 @ encoding: [0x72,0x48,0x4b,0xe7]
2484*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldeq	r8, r2, r5, r6  @ encoding: [0x55,0x86,0x42,0x07]
2485*9880d681SAndroid Build Coastguard Worker@ CHECK: smlsldxhi	r1, r0, r3, r8  @ encoding: [0x73,0x18,0x40,0x87]
2486*9880d681SAndroid Build Coastguard Worker
2487*9880d681SAndroid Build Coastguard Worker
2488*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2489*9880d681SAndroid Build Coastguard Worker@ SMMLA/SMMLAR
2490*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2491*9880d681SAndroid Build Coastguard Worker        smmla r1, r2, r3, r4
2492*9880d681SAndroid Build Coastguard Worker        smmlar r4, r3, r2, r1
2493*9880d681SAndroid Build Coastguard Worker        smmlalo r1, r2, r3, r4
2494*9880d681SAndroid Build Coastguard Worker        smmlarcs r4, r3, r2, r1
2495*9880d681SAndroid Build Coastguard Worker
2496*9880d681SAndroid Build Coastguard Worker@ CHECK: smmla	r1, r2, r3, r4          @ encoding: [0x12,0x43,0x51,0xe7]
2497*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlar	r4, r3, r2, r1          @ encoding: [0x33,0x12,0x54,0xe7]
2498*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlalo	r1, r2, r3, r4  @ encoding: [0x12,0x43,0x51,0x37]
2499*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlarhs	r4, r3, r2, r1  @ encoding: [0x33,0x12,0x54,0x27]
2500*9880d681SAndroid Build Coastguard Worker
2501*9880d681SAndroid Build Coastguard Worker
2502*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2503*9880d681SAndroid Build Coastguard Worker@ SMMLS/SMMLSR
2504*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2505*9880d681SAndroid Build Coastguard Worker        smmls r1, r2, r3, r4
2506*9880d681SAndroid Build Coastguard Worker        smmlsr r4, r3, r2, r1
2507*9880d681SAndroid Build Coastguard Worker        smmlslo r1, r2, r3, r4
2508*9880d681SAndroid Build Coastguard Worker        smmlsrcs r4, r3, r2, r1
2509*9880d681SAndroid Build Coastguard Worker
2510*9880d681SAndroid Build Coastguard Worker@ CHECK: smmls	r1, r2, r3, r4          @ encoding: [0xd2,0x43,0x51,0xe7]
2511*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlsr	r4, r3, r2, r1          @ encoding: [0xf3,0x12,0x54,0xe7]
2512*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlslo	r1, r2, r3, r4  @ encoding: [0xd2,0x43,0x51,0x37]
2513*9880d681SAndroid Build Coastguard Worker@ CHECK: smmlsrhs	r4, r3, r2, r1  @ encoding: [0xf3,0x12,0x54,0x27]
2514*9880d681SAndroid Build Coastguard Worker
2515*9880d681SAndroid Build Coastguard Worker
2516*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2517*9880d681SAndroid Build Coastguard Worker@ SMMUL/SMMULR
2518*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2519*9880d681SAndroid Build Coastguard Worker        smmul r2, r3, r4
2520*9880d681SAndroid Build Coastguard Worker        smmulr r3, r2, r1
2521*9880d681SAndroid Build Coastguard Worker        smmulcc r2, r3, r4
2522*9880d681SAndroid Build Coastguard Worker        smmulrhs r3, r2, r1
2523*9880d681SAndroid Build Coastguard Worker
2524*9880d681SAndroid Build Coastguard Worker@ CHECK: smmul	r2, r3, r4              @ encoding: [0x13,0xf4,0x52,0xe7]
2525*9880d681SAndroid Build Coastguard Worker@ CHECK: smmulr	r3, r2, r1              @ encoding: [0x32,0xf1,0x53,0xe7]
2526*9880d681SAndroid Build Coastguard Worker@ CHECK: smmullo	r2, r3, r4      @ encoding: [0x13,0xf4,0x52,0x37]
2527*9880d681SAndroid Build Coastguard Worker@ CHECK: smmulrhs	r3, r2, r1      @ encoding: [0x32,0xf1,0x53,0x27]
2528*9880d681SAndroid Build Coastguard Worker
2529*9880d681SAndroid Build Coastguard Worker
2530*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2531*9880d681SAndroid Build Coastguard Worker@ SMUAD/SMUADX
2532*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2533*9880d681SAndroid Build Coastguard Worker        smuad r2, r3, r4
2534*9880d681SAndroid Build Coastguard Worker        smuadx r3, r2, r1
2535*9880d681SAndroid Build Coastguard Worker        smuadlt r2, r3, r4
2536*9880d681SAndroid Build Coastguard Worker        smuadxge r3, r2, r1
2537*9880d681SAndroid Build Coastguard Worker
2538*9880d681SAndroid Build Coastguard Worker@ CHECK: smuad	r2, r3, r4              @ encoding: [0x13,0xf4,0x02,0xe7]
2539*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadx	r3, r2, r1              @ encoding: [0x32,0xf1,0x03,0xe7]
2540*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadlt	r2, r3, r4      @ encoding: [0x13,0xf4,0x02,0xb7]
2541*9880d681SAndroid Build Coastguard Worker@ CHECK: smuadxge	r3, r2, r1      @ encoding: [0x32,0xf1,0x03,0xa7]
2542*9880d681SAndroid Build Coastguard Worker
2543*9880d681SAndroid Build Coastguard Worker
2544*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2545*9880d681SAndroid Build Coastguard Worker@ SMULBB/SMULBT/SMULTB/SMULTT
2546*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2547*9880d681SAndroid Build Coastguard Worker        smulbb r3, r9, r0
2548*9880d681SAndroid Build Coastguard Worker        smulbt r5, r4, r1
2549*9880d681SAndroid Build Coastguard Worker        smultb r4, r2, r2
2550*9880d681SAndroid Build Coastguard Worker        smultt r8, r3, r4
2551*9880d681SAndroid Build Coastguard Worker        smulbbge r1, r9, r0
2552*9880d681SAndroid Build Coastguard Worker        smulbtle r5, r6, r4
2553*9880d681SAndroid Build Coastguard Worker        smultbne r2, r3, r2
2554*9880d681SAndroid Build Coastguard Worker        smultteq r8, r3, r4
2555*9880d681SAndroid Build Coastguard Worker
2556*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbb	r3, r9, r0              @ encoding: [0x89,0x00,0x63,0xe1]
2557*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbt	r5, r4, r1              @ encoding: [0xc4,0x01,0x65,0xe1]
2558*9880d681SAndroid Build Coastguard Worker@ CHECK: smultb	r4, r2, r2              @ encoding: [0xa2,0x02,0x64,0xe1]
2559*9880d681SAndroid Build Coastguard Worker@ CHECK: smultt	r8, r3, r4              @ encoding: [0xe3,0x04,0x68,0xe1]
2560*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbbge	r1, r9, r0      @ encoding: [0x89,0x00,0x61,0xa1]
2561*9880d681SAndroid Build Coastguard Worker@ CHECK: smulbtle	r5, r6, r4      @ encoding: [0xc6,0x04,0x65,0xd1]
2562*9880d681SAndroid Build Coastguard Worker@ CHECK: smultbne	r2, r3, r2      @ encoding: [0xa3,0x02,0x62,0x11]
2563*9880d681SAndroid Build Coastguard Worker@ CHECK: smultteq	r8, r3, r4      @ encoding: [0xe3,0x04,0x68,0x01]
2564*9880d681SAndroid Build Coastguard Worker
2565*9880d681SAndroid Build Coastguard Worker
2566*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2567*9880d681SAndroid Build Coastguard Worker@ SMULL
2568*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2569*9880d681SAndroid Build Coastguard Worker        smull r3, r9, r0, r1
2570*9880d681SAndroid Build Coastguard Worker        smulls r3, r9, r0, r2
2571*9880d681SAndroid Build Coastguard Worker        smulleq r8, r3, r4, r5
2572*9880d681SAndroid Build Coastguard Worker        smullseq r8, r3, r4, r3
2573*9880d681SAndroid Build Coastguard Worker
2574*9880d681SAndroid Build Coastguard Worker@ CHECK: smull	r3, r9, r0, r1          @ encoding: [0x90,0x31,0xc9,0xe0]
2575*9880d681SAndroid Build Coastguard Worker@ CHECK: smulls	r3, r9, r0, r2          @ encoding: [0x90,0x32,0xd9,0xe0]
2576*9880d681SAndroid Build Coastguard Worker@ CHECK: smulleq	r8, r3, r4, r5  @ encoding: [0x94,0x85,0xc3,0x00]
2577*9880d681SAndroid Build Coastguard Worker@ CHECK: smullseq	r8, r3, r4, r3  @ encoding: [0x94,0x83,0xd3,0x00]
2578*9880d681SAndroid Build Coastguard Worker
2579*9880d681SAndroid Build Coastguard Worker
2580*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2581*9880d681SAndroid Build Coastguard Worker@ SMULWB/SMULWT
2582*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2583*9880d681SAndroid Build Coastguard Worker        smulwb r3, r9, r0
2584*9880d681SAndroid Build Coastguard Worker        smulwt r3, r9, r2
2585*9880d681SAndroid Build Coastguard Worker
2586*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwb	r3, r9, r0              @ encoding: [0xa9,0x00,0x23,0xe1]
2587*9880d681SAndroid Build Coastguard Worker@ CHECK: smulwt	r3, r9, r2              @ encoding: [0xe9,0x02,0x23,0xe1]
2588*9880d681SAndroid Build Coastguard Worker
2589*9880d681SAndroid Build Coastguard Worker
2590*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2591*9880d681SAndroid Build Coastguard Worker@ SMUSD/SMUSDX
2592*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2593*9880d681SAndroid Build Coastguard Worker        smusd r3, r0, r1
2594*9880d681SAndroid Build Coastguard Worker        smusdx r3, r9, r2
2595*9880d681SAndroid Build Coastguard Worker        smusdeq r8, r3, r2
2596*9880d681SAndroid Build Coastguard Worker        smusdxne r7, r4, r3
2597*9880d681SAndroid Build Coastguard Worker
2598*9880d681SAndroid Build Coastguard Worker@ CHECK: smusd	r3, r0, r1              @ encoding: [0x50,0xf1,0x03,0xe7]
2599*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdx	r3, r9, r2              @ encoding: [0x79,0xf2,0x03,0xe7]
2600*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdeq	r8, r3, r2      @ encoding: [0x53,0xf2,0x08,0x07]
2601*9880d681SAndroid Build Coastguard Worker@ CHECK: smusdxne	r7, r4, r3      @ encoding: [0x74,0xf3,0x07,0x17]
2602*9880d681SAndroid Build Coastguard Worker
2603*9880d681SAndroid Build Coastguard Worker
2604*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2605*9880d681SAndroid Build Coastguard Worker@ SRS
2606*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2607*9880d681SAndroid Build Coastguard Worker        srsda sp, #5
2608*9880d681SAndroid Build Coastguard Worker        srsdb sp, #1
2609*9880d681SAndroid Build Coastguard Worker        srsia sp, #0
2610*9880d681SAndroid Build Coastguard Worker        srsib sp, #15
2611*9880d681SAndroid Build Coastguard Worker
2612*9880d681SAndroid Build Coastguard Worker        srsda sp!, #31
2613*9880d681SAndroid Build Coastguard Worker        srsdb sp!, #19
2614*9880d681SAndroid Build Coastguard Worker        srsia sp!, #2
2615*9880d681SAndroid Build Coastguard Worker        srsib sp!, #14
2616*9880d681SAndroid Build Coastguard Worker
2617*9880d681SAndroid Build Coastguard Worker        srsfa sp, #11
2618*9880d681SAndroid Build Coastguard Worker        srsea sp, #10
2619*9880d681SAndroid Build Coastguard Worker        srsfd sp, #9
2620*9880d681SAndroid Build Coastguard Worker        srsed sp, #5
2621*9880d681SAndroid Build Coastguard Worker
2622*9880d681SAndroid Build Coastguard Worker        srsfa sp!, #5
2623*9880d681SAndroid Build Coastguard Worker        srsea sp!, #5
2624*9880d681SAndroid Build Coastguard Worker        srsfd sp!, #5
2625*9880d681SAndroid Build Coastguard Worker        srsed sp!, #5
2626*9880d681SAndroid Build Coastguard Worker
2627*9880d681SAndroid Build Coastguard Worker        srs sp, #5
2628*9880d681SAndroid Build Coastguard Worker        srs sp!, #5
2629*9880d681SAndroid Build Coastguard Worker
2630*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp, #5                  @ encoding: [0x05,0x05,0x4d,0xf8]
2631*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp, #1                  @ encoding: [0x01,0x05,0x4d,0xf9]
2632*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp, #0                  @ encoding: [0x00,0x05,0xcd,0xf8]
2633*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp, #15                 @ encoding: [0x0f,0x05,0xcd,0xf9]
2634*9880d681SAndroid Build Coastguard Worker
2635*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp!, #31                @ encoding: [0x1f,0x05,0x6d,0xf8]
2636*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp!, #19                @ encoding: [0x13,0x05,0x6d,0xf9]
2637*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp!, #2                 @ encoding: [0x02,0x05,0xed,0xf8]
2638*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp!, #14                @ encoding: [0x0e,0x05,0xed,0xf9]
2639*9880d681SAndroid Build Coastguard Worker
2640*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp, #11                 @ encoding: [0x0b,0x05,0xcd,0xf9]
2641*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp, #10                 @ encoding: [0x0a,0x05,0xcd,0xf8]
2642*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp, #9                  @ encoding: [0x09,0x05,0x4d,0xf9]
2643*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp, #5                  @ encoding: [0x05,0x05,0x4d,0xf8]
2644*9880d681SAndroid Build Coastguard Worker
2645*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf9]
2646*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf8]
2647*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp!, #5                 @ encoding: [0x05,0x05,0x6d,0xf9]
2648*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp!, #5                 @ encoding: [0x05,0x05,0x6d,0xf8]
2649*9880d681SAndroid Build Coastguard Worker
2650*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp, #5                  @ encoding: [0x05,0x05,0xcd,0xf8]
2651*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf8]
2652*9880d681SAndroid Build Coastguard Worker
2653*9880d681SAndroid Build Coastguard Worker@ Compatibility aliases.
2654*9880d681SAndroid Build Coastguard Worker        srsda #5
2655*9880d681SAndroid Build Coastguard Worker        srsdb #1
2656*9880d681SAndroid Build Coastguard Worker        srsia #0
2657*9880d681SAndroid Build Coastguard Worker        srsib #15
2658*9880d681SAndroid Build Coastguard Worker
2659*9880d681SAndroid Build Coastguard Worker        srsda #31!
2660*9880d681SAndroid Build Coastguard Worker        srsdb #19!
2661*9880d681SAndroid Build Coastguard Worker        srsia #2!
2662*9880d681SAndroid Build Coastguard Worker        srsib #14!
2663*9880d681SAndroid Build Coastguard Worker
2664*9880d681SAndroid Build Coastguard Worker        srsfa #11
2665*9880d681SAndroid Build Coastguard Worker        srsea #10
2666*9880d681SAndroid Build Coastguard Worker        srsfd #9
2667*9880d681SAndroid Build Coastguard Worker        srsed #5
2668*9880d681SAndroid Build Coastguard Worker
2669*9880d681SAndroid Build Coastguard Worker        srsfa #5!
2670*9880d681SAndroid Build Coastguard Worker        srsea #5!
2671*9880d681SAndroid Build Coastguard Worker        srsfd #5!
2672*9880d681SAndroid Build Coastguard Worker        srsed #5!
2673*9880d681SAndroid Build Coastguard Worker
2674*9880d681SAndroid Build Coastguard Worker        srs #5
2675*9880d681SAndroid Build Coastguard Worker        srs #5!
2676*9880d681SAndroid Build Coastguard Worker
2677*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp, #5                  @ encoding: [0x05,0x05,0x4d,0xf8]
2678*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp, #1                  @ encoding: [0x01,0x05,0x4d,0xf9]
2679*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp, #0                  @ encoding: [0x00,0x05,0xcd,0xf8]
2680*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp, #15                 @ encoding: [0x0f,0x05,0xcd,0xf9]
2681*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp!, #31                @ encoding: [0x1f,0x05,0x6d,0xf8]
2682*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp!, #19                @ encoding: [0x13,0x05,0x6d,0xf9]
2683*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp!, #2                 @ encoding: [0x02,0x05,0xed,0xf8]
2684*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp!, #14                @ encoding: [0x0e,0x05,0xed,0xf9]
2685*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp, #11                 @ encoding: [0x0b,0x05,0xcd,0xf9]
2686*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp, #10                 @ encoding: [0x0a,0x05,0xcd,0xf8]
2687*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp, #9                  @ encoding: [0x09,0x05,0x4d,0xf9]
2688*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp, #5                  @ encoding: [0x05,0x05,0x4d,0xf8]
2689*9880d681SAndroid Build Coastguard Worker@ CHECK: srsib	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf9]
2690*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf8]
2691*9880d681SAndroid Build Coastguard Worker@ CHECK: srsdb	sp!, #5                 @ encoding: [0x05,0x05,0x6d,0xf9]
2692*9880d681SAndroid Build Coastguard Worker@ CHECK: srsda	sp!, #5                 @ encoding: [0x05,0x05,0x6d,0xf8]
2693*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp, #5                  @ encoding: [0x05,0x05,0xcd,0xf8]
2694*9880d681SAndroid Build Coastguard Worker@ CHECK: srsia	sp!, #5                 @ encoding: [0x05,0x05,0xed,0xf8]
2695*9880d681SAndroid Build Coastguard Worker
2696*9880d681SAndroid Build Coastguard Worker
2697*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2698*9880d681SAndroid Build Coastguard Worker@ SSAT
2699*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2700*9880d681SAndroid Build Coastguard Worker        ssat	r8, #1, r10
2701*9880d681SAndroid Build Coastguard Worker        ssat	r8, #1, r10, lsl #0
2702*9880d681SAndroid Build Coastguard Worker        ssat	r8, #1, r10, lsl #31
2703*9880d681SAndroid Build Coastguard Worker        ssat	r8, #1, r10, asr #32
2704*9880d681SAndroid Build Coastguard Worker        ssat	r8, #1, r10, asr #1
2705*9880d681SAndroid Build Coastguard Worker
2706*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat	r8, #1, r10             @ encoding: [0x1a,0x80,0xa0,0xe6]
2707*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat	r8, #1, r10             @ encoding: [0x1a,0x80,0xa0,0xe6]
2708*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat	r8, #1, r10, lsl #31    @ encoding: [0x9a,0x8f,0xa0,0xe6]
2709*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat	r8, #1, r10, asr #32    @ encoding: [0x5a,0x80,0xa0,0xe6]
2710*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat	r8, #1, r10, asr #1     @ encoding: [0xda,0x80,0xa0,0xe6]
2711*9880d681SAndroid Build Coastguard Worker
2712*9880d681SAndroid Build Coastguard Worker
2713*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2714*9880d681SAndroid Build Coastguard Worker@ SSAT16
2715*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2716*9880d681SAndroid Build Coastguard Worker        ssat16	r2, #1, r7
2717*9880d681SAndroid Build Coastguard Worker        ssat16	r3, #16, r5
2718*9880d681SAndroid Build Coastguard Worker
2719*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat16	r2, #1, r7              @ encoding: [0x37,0x2f,0xa0,0xe6]
2720*9880d681SAndroid Build Coastguard Worker@ CHECK: ssat16	r3, #16, r5             @ encoding: [0x35,0x3f,0xaf,0xe6]
2721*9880d681SAndroid Build Coastguard Worker
2722*9880d681SAndroid Build Coastguard Worker
2723*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2724*9880d681SAndroid Build Coastguard Worker@ SSAX
2725*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2726*9880d681SAndroid Build Coastguard Worker        ssax r2, r3, r4
2727*9880d681SAndroid Build Coastguard Worker        ssaxlt r2, r3, r4
2728*9880d681SAndroid Build Coastguard Worker
2729*9880d681SAndroid Build Coastguard Worker@ CHECK: ssax	r2, r3, r4              @ encoding: [0x54,0x2f,0x13,0xe6]
2730*9880d681SAndroid Build Coastguard Worker@ CHECK: ssaxlt	r2, r3, r4              @ encoding: [0x54,0x2f,0x13,0xb6]
2731*9880d681SAndroid Build Coastguard Worker
2732*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2733*9880d681SAndroid Build Coastguard Worker@ SSUB16/SSUB8
2734*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2735*9880d681SAndroid Build Coastguard Worker        ssub16 r1, r0, r6
2736*9880d681SAndroid Build Coastguard Worker        ssub16ne r5, r3, r2
2737*9880d681SAndroid Build Coastguard Worker        ssub8 r9, r2, r4
2738*9880d681SAndroid Build Coastguard Worker        ssub8eq r5, r1, r2
2739*9880d681SAndroid Build Coastguard Worker
2740*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub16	r1, r0, r6              @ encoding: [0x76,0x1f,0x10,0xe6]
2741*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub16ne	r5, r3, r2      @ encoding: [0x72,0x5f,0x13,0x16]
2742*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub8	r9, r2, r4              @ encoding: [0xf4,0x9f,0x12,0xe6]
2743*9880d681SAndroid Build Coastguard Worker@ CHECK: ssub8eq	r5, r1, r2      @ encoding: [0xf2,0x5f,0x11,0x06]
2744*9880d681SAndroid Build Coastguard Worker
2745*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2746*9880d681SAndroid Build Coastguard Worker@ STC{L}/STC2{L}
2747*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2748*9880d681SAndroid Build Coastguard Worker        stc2 p0, c8, [r1, #4]
2749*9880d681SAndroid Build Coastguard Worker        stc2 p1, c7, [r2]
2750*9880d681SAndroid Build Coastguard Worker        stc2 p2, c6, [r3, #-224]
2751*9880d681SAndroid Build Coastguard Worker        stc2 p3, c5, [r4, #-120]!
2752*9880d681SAndroid Build Coastguard Worker        stc2 p4, c4, [r5], #16
2753*9880d681SAndroid Build Coastguard Worker        stc2 p5, c3, [r6], #-72
2754*9880d681SAndroid Build Coastguard Worker        stc2l p6, c2, [r7, #4]
2755*9880d681SAndroid Build Coastguard Worker        stc2l p7, c1, [r8]
2756*9880d681SAndroid Build Coastguard Worker        stc2l p8, c0, [r9, #-224]
2757*9880d681SAndroid Build Coastguard Worker        stc2l p9, c1, [r10, #-120]!
2758*9880d681SAndroid Build Coastguard Worker        stc2l p0, c2, [r11], #16
2759*9880d681SAndroid Build Coastguard Worker        stc2l p1, c3, [r12], #-72
2760*9880d681SAndroid Build Coastguard Worker
2761*9880d681SAndroid Build Coastguard Worker        stc p12, c4, [r0, #4]
2762*9880d681SAndroid Build Coastguard Worker        stc p13, c5, [r1]
2763*9880d681SAndroid Build Coastguard Worker        stc p14, c6, [r2, #-224]
2764*9880d681SAndroid Build Coastguard Worker        stc p15, c7, [r3, #-120]!
2765*9880d681SAndroid Build Coastguard Worker        stc p5, c8, [r4], #16
2766*9880d681SAndroid Build Coastguard Worker        stc p4, c9, [r5], #-72
2767*9880d681SAndroid Build Coastguard Worker        stcl p3, c10, [r6, #4]
2768*9880d681SAndroid Build Coastguard Worker        stcl p2, c11, [r7]
2769*9880d681SAndroid Build Coastguard Worker        stcl p1, c12, [r8, #-224]
2770*9880d681SAndroid Build Coastguard Worker        stcl p0, c13, [r9, #-120]!
2771*9880d681SAndroid Build Coastguard Worker        stcl p6, c14, [r10], #16
2772*9880d681SAndroid Build Coastguard Worker        stcl p7, c15, [r11], #-72
2773*9880d681SAndroid Build Coastguard Worker
2774*9880d681SAndroid Build Coastguard Worker        stclo p12, c4, [r0, #4]
2775*9880d681SAndroid Build Coastguard Worker        stchi p13, c5, [r1]
2776*9880d681SAndroid Build Coastguard Worker        stccs p14, c6, [r2, #-224]
2777*9880d681SAndroid Build Coastguard Worker        stccc p15, c7, [r3, #-120]!
2778*9880d681SAndroid Build Coastguard Worker        stceq p5, c8, [r4], #16
2779*9880d681SAndroid Build Coastguard Worker        stcgt p4, c9, [r5], #-72
2780*9880d681SAndroid Build Coastguard Worker        stcllt p3, c10, [r6, #4]
2781*9880d681SAndroid Build Coastguard Worker        stclge p2, c11, [r7]
2782*9880d681SAndroid Build Coastguard Worker        stclle p1, c12, [r8, #-224]
2783*9880d681SAndroid Build Coastguard Worker        stclne p0, c13, [r9, #-120]!
2784*9880d681SAndroid Build Coastguard Worker        stcleq p6, c14, [r10], #16
2785*9880d681SAndroid Build Coastguard Worker        stclhi p7, c15, [r11], #-72
2786*9880d681SAndroid Build Coastguard Worker
2787*9880d681SAndroid Build Coastguard Worker        stc2 p2, c8, [r1], { 25 }
2788*9880d681SAndroid Build Coastguard Worker
2789*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p0, c8, [r1, #4]        @ encoding: [0x01,0x80,0x81,0xfd]
2790*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p1, c7, [r2]            @ encoding: [0x00,0x71,0x82,0xfd]
2791*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p2, c6, [r3, #-224]     @ encoding: [0x38,0x62,0x03,0xfd]
2792*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p3, c5, [r4, #-120]!    @ encoding: [0x1e,0x53,0x24,0xfd]
2793*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p4, c4, [r5], #16       @ encoding: [0x04,0x44,0xa5,0xfc]
2794*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p5, c3, [r6], #-72      @ encoding: [0x12,0x35,0x26,0xfc]
2795*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l	p6, c2, [r7, #4]        @ encoding: [0x01,0x26,0xc7,0xfd]
2796*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l	p7, c1, [r8]            @ encoding: [0x00,0x17,0xc8,0xfd]
2797*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l	p8, c0, [r9, #-224]     @ encoding: [0x38,0x08,0x49,0xfd]
2798*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l	p9, c1, [r10, #-120]!   @ encoding: [0x1e,0x19,0x6a,0xfd]
2799*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l	p0, c2, [r11], #16      @ encoding: [0x04,0x20,0xeb,0xfc]
2800*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2l	p1, c3, [r12], #-72     @ encoding: [0x12,0x31,0x6c,0xfc]
2801*9880d681SAndroid Build Coastguard Worker
2802*9880d681SAndroid Build Coastguard Worker@ CHECK: stc	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x80,0xed]
2803*9880d681SAndroid Build Coastguard Worker@ CHECK: stc	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x81,0xed]
2804*9880d681SAndroid Build Coastguard Worker@ CHECK: stc	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x02,0xed]
2805*9880d681SAndroid Build Coastguard Worker@ CHECK: stc	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x23,0xed]
2806*9880d681SAndroid Build Coastguard Worker@ CHECK: stc	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xa4,0xec]
2807*9880d681SAndroid Build Coastguard Worker@ CHECK: stc	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x25,0xec]
2808*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xc6,0xed]
2809*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xc7,0xed]
2810*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x48,0xed]
2811*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x69,0xed]
2812*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xea,0xec]
2813*9880d681SAndroid Build Coastguard Worker@ CHECK: stcl	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x6b,0xec]
2814*9880d681SAndroid Build Coastguard Worker
2815*9880d681SAndroid Build Coastguard Worker@ CHECK: stclo	p12, c4, [r0, #4]       @ encoding: [0x01,0x4c,0x80,0x3d]
2816*9880d681SAndroid Build Coastguard Worker@ CHECK: stchi	p13, c5, [r1]           @ encoding: [0x00,0x5d,0x81,0x8d]
2817*9880d681SAndroid Build Coastguard Worker@ CHECK: stchs	p14, c6, [r2, #-224]    @ encoding: [0x38,0x6e,0x02,0x2d]
2818*9880d681SAndroid Build Coastguard Worker@ CHECK: stclo	p15, c7, [r3, #-120]!   @ encoding: [0x1e,0x7f,0x23,0x3d]
2819*9880d681SAndroid Build Coastguard Worker@ CHECK: stceq	p5, c8, [r4], #16       @ encoding: [0x04,0x85,0xa4,0x0c]
2820*9880d681SAndroid Build Coastguard Worker@ CHECK: stcgt	p4, c9, [r5], #-72      @ encoding: [0x12,0x94,0x25,0xcc]
2821*9880d681SAndroid Build Coastguard Worker@ CHECK: stcllt	p3, c10, [r6, #4]       @ encoding: [0x01,0xa3,0xc6,0xbd]
2822*9880d681SAndroid Build Coastguard Worker@ CHECK: stclge	p2, c11, [r7]           @ encoding: [0x00,0xb2,0xc7,0xad]
2823*9880d681SAndroid Build Coastguard Worker@ CHECK: stclle	p1, c12, [r8, #-224]    @ encoding: [0x38,0xc1,0x48,0xdd]
2824*9880d681SAndroid Build Coastguard Worker@ CHECK: stclne	p0, c13, [r9, #-120]!   @ encoding: [0x1e,0xd0,0x69,0x1d]
2825*9880d681SAndroid Build Coastguard Worker@ CHECK: stcleq	p6, c14, [r10], #16     @ encoding: [0x04,0xe6,0xea,0x0c]
2826*9880d681SAndroid Build Coastguard Worker@ CHECK: stclhi	p7, c15, [r11], #-72    @ encoding: [0x12,0xf7,0x6b,0x8c]
2827*9880d681SAndroid Build Coastguard Worker
2828*9880d681SAndroid Build Coastguard Worker@ CHECK: stc2	p2, c8, [r1], {25}      @ encoding: [0x19,0x82,0x81,0xfc]
2829*9880d681SAndroid Build Coastguard Worker
2830*9880d681SAndroid Build Coastguard Worker
2831*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2832*9880d681SAndroid Build Coastguard Worker@ STM*
2833*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2834*9880d681SAndroid Build Coastguard Worker        stm       r2, {r1,r3-r6,sp}
2835*9880d681SAndroid Build Coastguard Worker        stmia     r3, {r1,r3-r6,lr}
2836*9880d681SAndroid Build Coastguard Worker        stmib     r4, {r1,r3-r6,sp}
2837*9880d681SAndroid Build Coastguard Worker        stmda     r5, {r1,r3-r6,sp}
2838*9880d681SAndroid Build Coastguard Worker        stmdb     r6, {r1,r3-r6,r8}
2839*9880d681SAndroid Build Coastguard Worker        stmfd     sp, {r1,r3-r6,sp}
2840*9880d681SAndroid Build Coastguard Worker
2841*9880d681SAndroid Build Coastguard Worker        @ with update
2842*9880d681SAndroid Build Coastguard Worker        stm       r8!, {r1,r3-r6,sp}
2843*9880d681SAndroid Build Coastguard Worker        stmib     r9!, {r1,r3-r6,sp}
2844*9880d681SAndroid Build Coastguard Worker        stmda     sp!, {r1,r3-r6}
2845*9880d681SAndroid Build Coastguard Worker        stmdb     r0!, {r1,r5,r7,sp}
2846*9880d681SAndroid Build Coastguard Worker
2847*9880d681SAndroid Build Coastguard Worker@ CHECK: stm	r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8]
2848*9880d681SAndroid Build Coastguard Worker@ CHECK: stm	r3, {r1, r3, r4, r5, r6, lr} @ encoding: [0x7a,0x40,0x83,0xe8]
2849*9880d681SAndroid Build Coastguard Worker@ CHECK: stmib	r4, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x84,0xe9]
2850*9880d681SAndroid Build Coastguard Worker@ CHECK: stmda	r5, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x05,0xe8]
2851*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb	r6, {r1, r3, r4, r5, r6, r8} @ encoding: [0x7a,0x01,0x06,0xe9]
2852*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb	sp, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x0d,0xe9]
2853*9880d681SAndroid Build Coastguard Worker
2854*9880d681SAndroid Build Coastguard Worker@ CHECK: stm	r8!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa8,0xe8]
2855*9880d681SAndroid Build Coastguard Worker@ CHECK: stmib	r9!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa9,0xe9]
2856*9880d681SAndroid Build Coastguard Worker@ CHECK: stmda	sp!, {r1, r3, r4, r5, r6}     @ encoding: [0x7a,0x00,0x2d,0xe8]
2857*9880d681SAndroid Build Coastguard Worker@ CHECK: stmdb	r0!, {r1, r5, r7, sp}         @ encoding: [0xa2,0x20,0x20,0xe9]
2858*9880d681SAndroid Build Coastguard Worker
2859*9880d681SAndroid Build Coastguard Worker
2860*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2861*9880d681SAndroid Build Coastguard Worker@ STREX/STREXB/STREXH/STREXD
2862*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2863*9880d681SAndroid Build Coastguard Worker        strexb  r1, r3, [r4]
2864*9880d681SAndroid Build Coastguard Worker        strexh  r4, r2, [r5]
2865*9880d681SAndroid Build Coastguard Worker        strex  r2, r1, [r7]
2866*9880d681SAndroid Build Coastguard Worker        strexd  r6, r2, r3, [r8]
2867*9880d681SAndroid Build Coastguard Worker
2868*9880d681SAndroid Build Coastguard Worker@ CHECK: strexb	r1, r3, [r4]            @ encoding: [0x93,0x1f,0xc4,0xe1]
2869*9880d681SAndroid Build Coastguard Worker@ CHECK: strexh	r4, r2, [r5]            @ encoding: [0x92,0x4f,0xe5,0xe1]
2870*9880d681SAndroid Build Coastguard Worker@ CHECK: strex	r2, r1, [r7]            @ encoding: [0x91,0x2f,0x87,0xe1]
2871*9880d681SAndroid Build Coastguard Worker@ CHECK: strexd	r6, r2, r3, [r8]        @ encoding: [0x92,0x6f,0xa8,0xe1]
2872*9880d681SAndroid Build Coastguard Worker
2873*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2874*9880d681SAndroid Build Coastguard Worker@ STR
2875*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2876*9880d681SAndroid Build Coastguard Worker        strpl	r3, [r10, #-0]!
2877*9880d681SAndroid Build Coastguard Worker        strpl	r3, [r10, #0]!
2878*9880d681SAndroid Build Coastguard Worker
2879*9880d681SAndroid Build Coastguard Worker@ CHECK: strpl	r3, [r10, #-0]!         @ encoding: [0x00,0x30,0x2a,0x55]
2880*9880d681SAndroid Build Coastguard Worker@ CHECK: strpl	r3, [r10, #0]!          @ encoding: [0x00,0x30,0xaa,0x55]
2881*9880d681SAndroid Build Coastguard Worker
2882*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2883*9880d681SAndroid Build Coastguard Worker@ SUB
2884*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2885*9880d681SAndroid Build Coastguard Worker        sub r4, r5, #0xf000
2886*9880d681SAndroid Build Coastguard Worker        sub r4, r5, $0xf000
2887*9880d681SAndroid Build Coastguard Worker        sub r4, r5, 0xf000
2888*9880d681SAndroid Build Coastguard Worker        sub r7, r8, #(0xff << 16)
2889*9880d681SAndroid Build Coastguard Worker        sub r7, r8, #-2147483638
2890*9880d681SAndroid Build Coastguard Worker        sub r7, r8, #42, #2
2891*9880d681SAndroid Build Coastguard Worker        sub r7, r8, #40, #2
2892*9880d681SAndroid Build Coastguard Worker        sub r7, r8, $40, $2
2893*9880d681SAndroid Build Coastguard Worker        sub r7, r8, 40, 2
2894*9880d681SAndroid Build Coastguard Worker        sub r7, r8, (20 * 2), (1 << 1)
2895*9880d681SAndroid Build Coastguard Worker        sub r4, r5, r6
2896*9880d681SAndroid Build Coastguard Worker        sub r4, r5, r6, lsl #5
2897*9880d681SAndroid Build Coastguard Worker        sub r4, r5, r6, lsr #5
2898*9880d681SAndroid Build Coastguard Worker        sub r4, r5, r6, lsr #5
2899*9880d681SAndroid Build Coastguard Worker        sub r4, r5, r6, asr #5
2900*9880d681SAndroid Build Coastguard Worker        sub r4, r5, r6, ror #5
2901*9880d681SAndroid Build Coastguard Worker        sub r6, r7, r8, lsl r9
2902*9880d681SAndroid Build Coastguard Worker        sub r6, r7, r8, lsr r9
2903*9880d681SAndroid Build Coastguard Worker        sub r6, r7, r8, asr r9
2904*9880d681SAndroid Build Coastguard Worker        sub r6, r7, r8, ror r9
2905*9880d681SAndroid Build Coastguard Worker
2906*9880d681SAndroid Build Coastguard Worker        @ destination register is optional
2907*9880d681SAndroid Build Coastguard Worker        sub r5, #0xf000
2908*9880d681SAndroid Build Coastguard Worker        sub r5, $0xf000
2909*9880d681SAndroid Build Coastguard Worker        sub r5, 0xf000
2910*9880d681SAndroid Build Coastguard Worker        sub r7, #(0xff << 16)
2911*9880d681SAndroid Build Coastguard Worker        sub r7, #-2147483638
2912*9880d681SAndroid Build Coastguard Worker        sub r7, #42, #2
2913*9880d681SAndroid Build Coastguard Worker        sub r7, #40, #2
2914*9880d681SAndroid Build Coastguard Worker        sub r7, $40, $2
2915*9880d681SAndroid Build Coastguard Worker        sub r7, 40, 2
2916*9880d681SAndroid Build Coastguard Worker        sub r7, (20 * 2), (1 << 1)
2917*9880d681SAndroid Build Coastguard Worker        sub r4, r5
2918*9880d681SAndroid Build Coastguard Worker        sub r4, r5, lsl #5
2919*9880d681SAndroid Build Coastguard Worker        sub r4, r5, lsr #5
2920*9880d681SAndroid Build Coastguard Worker        sub r4, r5, lsr #5
2921*9880d681SAndroid Build Coastguard Worker        sub r4, r5, asr #5
2922*9880d681SAndroid Build Coastguard Worker        sub r4, r5, ror #5
2923*9880d681SAndroid Build Coastguard Worker        sub r6, r7, lsl r9
2924*9880d681SAndroid Build Coastguard Worker        sub r6, r7, lsr r9
2925*9880d681SAndroid Build Coastguard Worker        sub r6, r7, asr r9
2926*9880d681SAndroid Build Coastguard Worker        sub r6, r7, ror r9
2927*9880d681SAndroid Build Coastguard Worker
2928*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x45,0xe2]
2929*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x45,0xe2]
2930*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, #61440          @ encoding: [0x0f,0x4a,0x45,0xe2]
2931*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r8, #16711680       @ encoding: [0xff,0x78,0x48,0xe2]
2932*9880d681SAndroid Build Coastguard Worker@ CHECK: sub    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x48,0xe2]
2933*9880d681SAndroid Build Coastguard Worker@ CHECK: sub    r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x48,0xe2]
2934*9880d681SAndroid Build Coastguard Worker@ CHECK: sub    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x48,0xe2]
2935*9880d681SAndroid Build Coastguard Worker@ CHECK: sub    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x48,0xe2]
2936*9880d681SAndroid Build Coastguard Worker@ CHECK: sub    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x48,0xe2]
2937*9880d681SAndroid Build Coastguard Worker@ CHECK: sub    r7, r8, #40, #2         @ encoding: [0x28,0x71,0x48,0xe2]
2938*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, r6              @ encoding: [0x06,0x40,0x45,0xe0]
2939*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, r6, lsl #5      @ encoding: [0x86,0x42,0x45,0xe0]
2940*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x45,0xe0]
2941*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, r6, lsr #5      @ encoding: [0xa6,0x42,0x45,0xe0]
2942*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, r6, asr #5      @ encoding: [0xc6,0x42,0x45,0xe0]
2943*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r5, r6, ror #5      @ encoding: [0xe6,0x42,0x45,0xe0]
2944*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r7, r8, lsl r9      @ encoding: [0x18,0x69,0x47,0xe0]
2945*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r7, r8, lsr r9      @ encoding: [0x38,0x69,0x47,0xe0]
2946*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r7, r8, asr r9      @ encoding: [0x58,0x69,0x47,0xe0]
2947*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r7, r8, ror r9      @ encoding: [0x78,0x69,0x47,0xe0]
2948*9880d681SAndroid Build Coastguard Worker
2949*9880d681SAndroid Build Coastguard Worker
2950*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x45,0xe2]
2951*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x45,0xe2]
2952*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r5, r5, #61440          @ encoding: [0x0f,0x5a,0x45,0xe2]
2953*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #16711680       @ encoding: [0xff,0x78,0x47,0xe2]
2954*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x47,0xe2]
2955*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #-2147483638    @ encoding: [0x2a,0x71,0x47,0xe2]
2956*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x47,0xe2]
2957*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x47,0xe2
2958*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x47,0xe2]
2959*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r7, r7, #40, #2         @ encoding: [0x28,0x71,0x47,0xe2]
2960*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r4, r5              @ encoding: [0x05,0x40,0x44,0xe0]
2961*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r4, r5, lsl #5      @ encoding: [0x85,0x42,0x44,0xe0]
2962*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x44,0xe0]
2963*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r4, r5, lsr #5      @ encoding: [0xa5,0x42,0x44,0xe0]
2964*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r4, r5, asr #5      @ encoding: [0xc5,0x42,0x44,0xe0]
2965*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r4, r4, r5, ror #5      @ encoding: [0xe5,0x42,0x44,0xe0]
2966*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r6, r7, lsl r9      @ encoding: [0x17,0x69,0x46,0xe0]
2967*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r6, r7, lsr r9      @ encoding: [0x37,0x69,0x46,0xe0]
2968*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r6, r7, asr r9      @ encoding: [0x57,0x69,0x46,0xe0]
2969*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r6, r6, r7, ror r9      @ encoding: [0x77,0x69,0x46,0xe0]
2970*9880d681SAndroid Build Coastguard Worker
2971*9880d681SAndroid Build Coastguard Worker    @ Test right shift by 32, which is encoded as 0
2972*9880d681SAndroid Build Coastguard Worker    sub r3, r1, r2, lsr #32
2973*9880d681SAndroid Build Coastguard Worker    sub r3, r1, r2, asr #32
2974*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r3, r1, r2, lsr #32     @ encoding: [0x22,0x30,0x41,0xe0]
2975*9880d681SAndroid Build Coastguard Worker@ CHECK: sub	r3, r1, r2, asr #32     @ encoding: [0x42,0x30,0x41,0xe0]
2976*9880d681SAndroid Build Coastguard Worker
2977*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2978*9880d681SAndroid Build Coastguard Worker@ SUBS
2979*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
2980*9880d681SAndroid Build Coastguard Worker    subs r7, r8, #16711680
2981*9880d681SAndroid Build Coastguard Worker    subs r7, r8, $16711680
2982*9880d681SAndroid Build Coastguard Worker    subs r7, r8, 16711680
2983*9880d681SAndroid Build Coastguard Worker    subs r7, r8, #(0xff << 16)
2984*9880d681SAndroid Build Coastguard Worker    subs r7, r8, #-2147483638
2985*9880d681SAndroid Build Coastguard Worker    subs r7, r8, #42, #2
2986*9880d681SAndroid Build Coastguard Worker    subs r7, r8, #40, #2
2987*9880d681SAndroid Build Coastguard Worker    subs r7, r8, $40, $2
2988*9880d681SAndroid Build Coastguard Worker    subs r7, r8, 40, 2
2989*9880d681SAndroid Build Coastguard Worker    subs r7, r8, (20 * 2), (1 << 1)
2990*9880d681SAndroid Build Coastguard Worker
2991*9880d681SAndroid Build Coastguard Worker@ CHECK: subs	r7, r8, #16711680       @ encoding: [0xff,0x78,0x58,0xe2]
2992*9880d681SAndroid Build Coastguard Worker@ CHECK: subs	r7, r8, #16711680       @ encoding: [0xff,0x78,0x58,0xe2]
2993*9880d681SAndroid Build Coastguard Worker@ CHECK: subs	r7, r8, #16711680       @ encoding: [0xff,0x78,0x58,0xe2]
2994*9880d681SAndroid Build Coastguard Worker@ CHECK: subs	r7, r8, #16711680       @ encoding: [0xff,0x78,0x58,0xe2]
2995*9880d681SAndroid Build Coastguard Worker@ CHECK: subs   r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x58,0xe2]
2996*9880d681SAndroid Build Coastguard Worker@ CHECK: subs   r7, r8, #-2147483638    @ encoding: [0x2a,0x71,0x58,0xe2]
2997*9880d681SAndroid Build Coastguard Worker@ CHECK: subs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x58,0xe2]
2998*9880d681SAndroid Build Coastguard Worker@ CHECK: subs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x58,0xe2]
2999*9880d681SAndroid Build Coastguard Worker@ CHECK: subs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x58,0xe2]
3000*9880d681SAndroid Build Coastguard Worker@ CHECK: subs   r7, r8, #40, #2         @ encoding: [0x28,0x71,0x58,0xe2]
3001*9880d681SAndroid Build Coastguard Worker
3002*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3003*9880d681SAndroid Build Coastguard Worker@ SVC
3004*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3005*9880d681SAndroid Build Coastguard Worker        svc #16
3006*9880d681SAndroid Build Coastguard Worker        svc #0
3007*9880d681SAndroid Build Coastguard Worker        svc #0xffffff
3008*9880d681SAndroid Build Coastguard Worker
3009*9880d681SAndroid Build Coastguard Worker@ CHECK: svc	#16                     @ encoding: [0x10,0x00,0x00,0xef]
3010*9880d681SAndroid Build Coastguard Worker@ CHECK: svc	#0                      @ encoding: [0x00,0x00,0x00,0xef]
3011*9880d681SAndroid Build Coastguard Worker@ CHECK: svc	#16777215               @ encoding: [0xff,0xff,0xff,0xef]
3012*9880d681SAndroid Build Coastguard Worker
3013*9880d681SAndroid Build Coastguard Worker
3014*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3015*9880d681SAndroid Build Coastguard Worker@ SWP/SWPB
3016*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3017*9880d681SAndroid Build Coastguard Worker        swp r1, r2, [r3]
3018*9880d681SAndroid Build Coastguard Worker        swp r4, r4, [r6]
3019*9880d681SAndroid Build Coastguard Worker        swpb r5, r1, [r9]
3020*9880d681SAndroid Build Coastguard Worker
3021*9880d681SAndroid Build Coastguard Worker@ CHECK: swp	r1, r2, [r3]            @ encoding: [0x92,0x10,0x03,0xe1]
3022*9880d681SAndroid Build Coastguard Worker@ CHECK: swp	r4, r4, [r6]            @ encoding: [0x94,0x40,0x06,0xe1]
3023*9880d681SAndroid Build Coastguard Worker@ CHECK: swpb	r5, r1, [r9]            @ encoding: [0x91,0x50,0x49,0xe1]
3024*9880d681SAndroid Build Coastguard Worker
3025*9880d681SAndroid Build Coastguard Worker
3026*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3027*9880d681SAndroid Build Coastguard Worker@ SXTAB
3028*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3029*9880d681SAndroid Build Coastguard Worker        sxtab r2, r3, r4
3030*9880d681SAndroid Build Coastguard Worker        sxtab r4, r5, r6, ror #0
3031*9880d681SAndroid Build Coastguard Worker        sxtablt r6, r2, r9, ror #8
3032*9880d681SAndroid Build Coastguard Worker        sxtab r5, r1, r4, ror #16
3033*9880d681SAndroid Build Coastguard Worker        sxtab r7, r8, r3, ror #24
3034*9880d681SAndroid Build Coastguard Worker
3035*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab	r2, r3, r4              @ encoding: [0x74,0x20,0xa3,0xe6]
3036*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab	r4, r5, r6              @ encoding: [0x76,0x40,0xa5,0xe6]
3037*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtablt r6, r2, r9, ror #8     @ encoding: [0x79,0x64,0xa2,0xb6]
3038*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab	r5, r1, r4, ror #16     @ encoding: [0x74,0x58,0xa1,0xe6]
3039*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab	r7, r8, r3, ror #24     @ encoding: [0x73,0x7c,0xa8,0xe6]
3040*9880d681SAndroid Build Coastguard Worker
3041*9880d681SAndroid Build Coastguard Worker
3042*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3043*9880d681SAndroid Build Coastguard Worker@ SXTAB16
3044*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3045*9880d681SAndroid Build Coastguard Worker        sxtab16ge r0, r1, r4
3046*9880d681SAndroid Build Coastguard Worker        sxtab16 r6, r2, r7, ror #0
3047*9880d681SAndroid Build Coastguard Worker        sxtab16 r3, r5, r8, ror #8
3048*9880d681SAndroid Build Coastguard Worker        sxtab16 r3, r2, r1, ror #16
3049*9880d681SAndroid Build Coastguard Worker        sxtab16eq r1, r2, r3, ror #24
3050*9880d681SAndroid Build Coastguard Worker
3051*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16ge	r0, r1, r4      @ encoding: [0x74,0x00,0x81,0xa6]
3052*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16	r6, r2, r7      @ encoding: [0x77,0x60,0x82,0xe6]
3053*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r3, r5, r8, ror #8     @ encoding: [0x78,0x34,0x85,0xe6]
3054*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16 r3, r2, r1, ror #16    @ encoding: [0x71,0x38,0x82,0xe6]
3055*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtab16eq r1, r2, r3, ror #24  @ encoding: [0x73,0x1c,0x82,0x06]
3056*9880d681SAndroid Build Coastguard Worker
3057*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3058*9880d681SAndroid Build Coastguard Worker@ SXTAH
3059*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3060*9880d681SAndroid Build Coastguard Worker        sxtah r1, r3, r9
3061*9880d681SAndroid Build Coastguard Worker        sxtahhi r6, r1, r6, ror #0
3062*9880d681SAndroid Build Coastguard Worker        sxtah r3, r8, r3, ror #8
3063*9880d681SAndroid Build Coastguard Worker        sxtahlo r2, r2, r4, ror #16
3064*9880d681SAndroid Build Coastguard Worker        sxtah r9, r3, r3, ror #24
3065*9880d681SAndroid Build Coastguard Worker
3066*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah	r1, r3, r9              @ encoding: [0x79,0x10,0xb3,0xe6]
3067*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtahhi	r6, r1, r6      @ encoding: [0x76,0x60,0xb1,0x86]
3068*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah	r3, r8, r3, ror #8      @ encoding: [0x73,0x34,0xb8,0xe6]
3069*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtahlo r2, r2, r4, ror #16    @ encoding: [0x74,0x28,0xb2,0x36]
3070*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtah	r9, r3, r3, ror #24     @ encoding: [0x73,0x9c,0xb3,0xe6]
3071*9880d681SAndroid Build Coastguard Worker
3072*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3073*9880d681SAndroid Build Coastguard Worker@ SXTB
3074*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3075*9880d681SAndroid Build Coastguard Worker        sxtbge r2, r4
3076*9880d681SAndroid Build Coastguard Worker        sxtb r5, r6, ror #0
3077*9880d681SAndroid Build Coastguard Worker        sxtb r6, r9, ror #8
3078*9880d681SAndroid Build Coastguard Worker        sxtbcc r5, r1, ror #16
3079*9880d681SAndroid Build Coastguard Worker        sxtb r8, r3, ror #24
3080*9880d681SAndroid Build Coastguard Worker
3081*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtbge	r2, r4                  @ encoding: [0x74,0x20,0xaf,0xa6]
3082*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb	r5, r6                  @ encoding: [0x76,0x50,0xaf,0xe6]
3083*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb	r6, r9, ror #8          @ encoding: [0x79,0x64,0xaf,0xe6]
3084*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtblo	r5, r1, ror #16         @ encoding: [0x71,0x58,0xaf,0x36]
3085*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb	r8, r3, ror #24         @ encoding: [0x73,0x8c,0xaf,0xe6]
3086*9880d681SAndroid Build Coastguard Worker
3087*9880d681SAndroid Build Coastguard Worker
3088*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3089*9880d681SAndroid Build Coastguard Worker@ SXTB16
3090*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3091*9880d681SAndroid Build Coastguard Worker        sxtb16 r1, r4
3092*9880d681SAndroid Build Coastguard Worker        sxtb16 r6, r7, ror #0
3093*9880d681SAndroid Build Coastguard Worker        sxtb16cs r3, r5, ror #8
3094*9880d681SAndroid Build Coastguard Worker        sxtb16 r3, r1, ror #16
3095*9880d681SAndroid Build Coastguard Worker        sxtb16ge r2, r3, ror #24
3096*9880d681SAndroid Build Coastguard Worker
3097*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16	r1, r4                  @ encoding: [0x74,0x10,0x8f,0xe6]
3098*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16	r6, r7                  @ encoding: [0x77,0x60,0x8f,0xe6]
3099*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16hs	r3, r5, ror #8  @ encoding: [0x75,0x34,0x8f,0x26]
3100*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16	r3, r1, ror #16         @ encoding: [0x71,0x38,0x8f,0xe6]
3101*9880d681SAndroid Build Coastguard Worker@ CHECK: sxtb16ge	r2, r3, ror #24 @ encoding: [0x73,0x2c,0x8f,0xa6]
3102*9880d681SAndroid Build Coastguard Worker
3103*9880d681SAndroid Build Coastguard Worker
3104*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3105*9880d681SAndroid Build Coastguard Worker@ SXTH
3106*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3107*9880d681SAndroid Build Coastguard Worker        sxthne r3, r9
3108*9880d681SAndroid Build Coastguard Worker        sxth r1, r6, ror #0
3109*9880d681SAndroid Build Coastguard Worker        sxth r3, r8, ror #8
3110*9880d681SAndroid Build Coastguard Worker        sxthle r2, r2, ror #16
3111*9880d681SAndroid Build Coastguard Worker        sxth r9, r3, ror #24
3112*9880d681SAndroid Build Coastguard Worker
3113*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthne	r3, r9                  @ encoding: [0x79,0x30,0xbf,0x16]
3114*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth	r1, r6                  @ encoding: [0x76,0x10,0xbf,0xe6]
3115*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth	r3, r8, ror #8          @ encoding: [0x78,0x34,0xbf,0xe6]
3116*9880d681SAndroid Build Coastguard Worker@ CHECK: sxthle	r2, r2, ror #16         @ encoding: [0x72,0x28,0xbf,0xd6]
3117*9880d681SAndroid Build Coastguard Worker@ CHECK: sxth	r9, r3, ror #24         @ encoding: [0x73,0x9c,0xbf,0xe6]
3118*9880d681SAndroid Build Coastguard Worker
3119*9880d681SAndroid Build Coastguard Worker
3120*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3121*9880d681SAndroid Build Coastguard Worker@ TEQ
3122*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3123*9880d681SAndroid Build Coastguard Worker        teq r5, #0xf000
3124*9880d681SAndroid Build Coastguard Worker        teq r5, $0xf000
3125*9880d681SAndroid Build Coastguard Worker        teq r5, 0xf000
3126*9880d681SAndroid Build Coastguard Worker        teq r7, #(0xff << 16)
3127*9880d681SAndroid Build Coastguard Worker        teq r7, #-2147483638
3128*9880d681SAndroid Build Coastguard Worker        teq r7, #42, #2
3129*9880d681SAndroid Build Coastguard Worker        teq r7, #40, #2
3130*9880d681SAndroid Build Coastguard Worker        teq r7, $40, $2
3131*9880d681SAndroid Build Coastguard Worker        teq r7, 40, 2
3132*9880d681SAndroid Build Coastguard Worker        teq r7, (20 * 2), (1 << 1)
3133*9880d681SAndroid Build Coastguard Worker        teq r4, r5
3134*9880d681SAndroid Build Coastguard Worker        teq r4, r5, lsl #5
3135*9880d681SAndroid Build Coastguard Worker        teq r4, r5, lsr #5
3136*9880d681SAndroid Build Coastguard Worker        teq r4, r5, lsr #5
3137*9880d681SAndroid Build Coastguard Worker        teq r4, r5, asr #5
3138*9880d681SAndroid Build Coastguard Worker        teq r4, r5, ror #5
3139*9880d681SAndroid Build Coastguard Worker        teq r6, r7, lsl r9
3140*9880d681SAndroid Build Coastguard Worker        teq r6, r7, lsr r9
3141*9880d681SAndroid Build Coastguard Worker        teq r6, r7, asr r9
3142*9880d681SAndroid Build Coastguard Worker        teq r6, r7, ror r9
3143*9880d681SAndroid Build Coastguard Worker
3144*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r5, #61440              @ encoding: [0x0f,0x0a,0x35,0xe3]
3145*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r5, #61440              @ encoding: [0x0f,0x0a,0x35,0xe3]
3146*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r5, #61440              @ encoding: [0x0f,0x0a,0x35,0xe3]
3147*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r7, #16711680           @ encoding: [0xff,0x08,0x37,0xe3]
3148*9880d681SAndroid Build Coastguard Worker@ CHECK: teq    r7, #-2147483638        @ encoding: [0x2a,0x01,0x37,0xe3]
3149*9880d681SAndroid Build Coastguard Worker@ CHECK: teq    r7, #-2147483638        @ encoding: [0x2a,0x01,0x37,0xe3]
3150*9880d681SAndroid Build Coastguard Worker@ CHECK: teq    r7, #40, #2             @ encoding: [0x28,0x01,0x37,0xe3]
3151*9880d681SAndroid Build Coastguard Worker@ CHECK: teq    r7, #40, #2             @ encoding: [0x28,0x01,0x37,0xe3]
3152*9880d681SAndroid Build Coastguard Worker@ CHECK: teq    r7, #40, #2             @ encoding: [0x28,0x01,0x37,0xe3]
3153*9880d681SAndroid Build Coastguard Worker@ CHECK: teq    r7, #40, #2             @ encoding: [0x28,0x01,0x37,0xe3]
3154*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r4, r5                  @ encoding: [0x05,0x00,0x34,0xe1]
3155*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r4, r5, lsl #5          @ encoding: [0x85,0x02,0x34,0xe1]
3156*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x34,0xe1]
3157*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x34,0xe1]
3158*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r4, r5, asr #5          @ encoding: [0xc5,0x02,0x34,0xe1]
3159*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r4, r5, ror #5          @ encoding: [0xe5,0x02,0x34,0xe1]
3160*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r6, r7, lsl r9          @ encoding: [0x17,0x09,0x36,0xe1]
3161*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r6, r7, lsr r9          @ encoding: [0x37,0x09,0x36,0xe1]
3162*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r6, r7, asr r9          @ encoding: [0x57,0x09,0x36,0xe1]
3163*9880d681SAndroid Build Coastguard Worker@ CHECK: teq	r6, r7, ror r9          @ encoding: [0x77,0x09,0x36,0xe1]
3164*9880d681SAndroid Build Coastguard Worker
3165*9880d681SAndroid Build Coastguard Worker
3166*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3167*9880d681SAndroid Build Coastguard Worker@ TST
3168*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3169*9880d681SAndroid Build Coastguard Worker        tst r5, #0xf000
3170*9880d681SAndroid Build Coastguard Worker        tst r5, $0xf000
3171*9880d681SAndroid Build Coastguard Worker        tst r5, 0xf000
3172*9880d681SAndroid Build Coastguard Worker        tst r7, #(0xff << 16)
3173*9880d681SAndroid Build Coastguard Worker        tst r7, #-2147483638
3174*9880d681SAndroid Build Coastguard Worker        tst r7, #42, #2
3175*9880d681SAndroid Build Coastguard Worker        tst r7, #40, #2
3176*9880d681SAndroid Build Coastguard Worker        tst r7, $40, $2
3177*9880d681SAndroid Build Coastguard Worker        tst r7, 40, 2
3178*9880d681SAndroid Build Coastguard Worker        tst r7, (20 * 2), (1 << 1)
3179*9880d681SAndroid Build Coastguard Worker        tst r4, r5
3180*9880d681SAndroid Build Coastguard Worker        tst r4, r5, lsl #5
3181*9880d681SAndroid Build Coastguard Worker        tst r4, r5, lsr #5
3182*9880d681SAndroid Build Coastguard Worker        tst r4, r5, lsr #5
3183*9880d681SAndroid Build Coastguard Worker        tst r4, r5, asr #5
3184*9880d681SAndroid Build Coastguard Worker        tst r4, r5, ror #5
3185*9880d681SAndroid Build Coastguard Worker        tst r6, r7, lsl r9
3186*9880d681SAndroid Build Coastguard Worker        tst r6, r7, lsr r9
3187*9880d681SAndroid Build Coastguard Worker        tst r6, r7, asr r9
3188*9880d681SAndroid Build Coastguard Worker        tst r6, r7, ror r9
3189*9880d681SAndroid Build Coastguard Worker
3190*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r5, #61440              @ encoding: [0x0f,0x0a,0x15,0xe3]
3191*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r5, #61440              @ encoding: [0x0f,0x0a,0x15,0xe3]
3192*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r5, #61440              @ encoding: [0x0f,0x0a,0x15,0xe3]
3193*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #16711680           @ encoding: [0xff,0x08,0x17,0xe3]
3194*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #-2147483638        @ encoding: [0x2a,0x01,0x17,0xe3]
3195*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #-2147483638        @ encoding: [0x2a,0x01,0x17,0xe3]
3196*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #40, #2             @ encoding: [0x28,0x01,0x17,0xe3]
3197*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #40, #2             @ encoding: [0x28,0x01,0x17,0xe3]
3198*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #40, #2             @ encoding: [0x28,0x01,0x17,0xe3]
3199*9880d681SAndroid Build Coastguard Worker@ CHECK: tst    r7, #40, #2             @ encoding: [0x28,0x01,0x17,0xe3]
3200*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r4, r5                  @ encoding: [0x05,0x00,0x14,0xe1]
3201*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r4, r5, lsl #5          @ encoding: [0x85,0x02,0x14,0xe1]
3202*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x14,0xe1]
3203*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r4, r5, lsr #5          @ encoding: [0xa5,0x02,0x14,0xe1]
3204*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r4, r5, asr #5          @ encoding: [0xc5,0x02,0x14,0xe1]
3205*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r4, r5, ror #5          @ encoding: [0xe5,0x02,0x14,0xe1]
3206*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r6, r7, lsl r9          @ encoding: [0x17,0x09,0x16,0xe1]
3207*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r6, r7, lsr r9          @ encoding: [0x37,0x09,0x16,0xe1]
3208*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r6, r7, asr r9          @ encoding: [0x57,0x09,0x16,0xe1]
3209*9880d681SAndroid Build Coastguard Worker@ CHECK: tst	r6, r7, ror r9          @ encoding: [0x77,0x09,0x16,0xe1]
3210*9880d681SAndroid Build Coastguard Worker
3211*9880d681SAndroid Build Coastguard Worker
3212*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3213*9880d681SAndroid Build Coastguard Worker@ UADD16/UADD8
3214*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3215*9880d681SAndroid Build Coastguard Worker        uadd16 r1, r2, r3
3216*9880d681SAndroid Build Coastguard Worker        uadd16gt r1, r2, r3
3217*9880d681SAndroid Build Coastguard Worker        uadd8 r1, r2, r3
3218*9880d681SAndroid Build Coastguard Worker        uadd8le r1, r2, r3
3219*9880d681SAndroid Build Coastguard Worker
3220*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd16	r1, r2, r3              @ encoding: [0x13,0x1f,0x52,0xe6]
3221*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd16gt	r1, r2, r3      @ encoding: [0x13,0x1f,0x52,0xc6]
3222*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd8	r1, r2, r3              @ encoding: [0x93,0x1f,0x52,0xe6]
3223*9880d681SAndroid Build Coastguard Worker@ CHECK: uadd8le r1, r2, r3             @ encoding: [0x93,0x1f,0x52,0xd6]
3224*9880d681SAndroid Build Coastguard Worker
3225*9880d681SAndroid Build Coastguard Worker
3226*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3227*9880d681SAndroid Build Coastguard Worker@ UASX
3228*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3229*9880d681SAndroid Build Coastguard Worker        uasx r9, r12, r0
3230*9880d681SAndroid Build Coastguard Worker        uasxeq r9, r12, r0
3231*9880d681SAndroid Build Coastguard Worker
3232*9880d681SAndroid Build Coastguard Worker@ CHECK: uasx	r9, r12, r0             @ encoding: [0x30,0x9f,0x5c,0xe6]
3233*9880d681SAndroid Build Coastguard Worker@ CHECK: uasxeq	r9, r12, r0             @ encoding: [0x30,0x9f,0x5c,0x06]
3234*9880d681SAndroid Build Coastguard Worker
3235*9880d681SAndroid Build Coastguard Worker
3236*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3237*9880d681SAndroid Build Coastguard Worker@ UBFX
3238*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3239*9880d681SAndroid Build Coastguard Worker        ubfx r4, r5, #16, #1
3240*9880d681SAndroid Build Coastguard Worker        ubfxgt r4, r5, #16, #16
3241*9880d681SAndroid Build Coastguard Worker
3242*9880d681SAndroid Build Coastguard Worker@ CHECK: ubfx	r4, r5, #16, #1         @ encoding: [0x55,0x48,0xe0,0xe7]
3243*9880d681SAndroid Build Coastguard Worker@ CHECK: ubfxgt	r4, r5, #16, #16        @ encoding: [0x55,0x48,0xef,0xc7]
3244*9880d681SAndroid Build Coastguard Worker
3245*9880d681SAndroid Build Coastguard Worker
3246*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3247*9880d681SAndroid Build Coastguard Worker@ UHADD16/UHADD8
3248*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3249*9880d681SAndroid Build Coastguard Worker        uhadd16 r4, r8, r2
3250*9880d681SAndroid Build Coastguard Worker        uhadd16gt r4, r8, r2
3251*9880d681SAndroid Build Coastguard Worker        uhadd8 r4, r8, r2
3252*9880d681SAndroid Build Coastguard Worker        uhadd8gt r4, r8, r2
3253*9880d681SAndroid Build Coastguard Worker
3254*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd16	r4, r8, r2      @ encoding: [0x12,0x4f,0x78,0xe6]
3255*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd16gt	r4, r8, r2      @ encoding: [0x12,0x4f,0x78,0xc6]
3256*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd8	r4, r8, r2              @ encoding: [0x92,0x4f,0x78,0xe6]
3257*9880d681SAndroid Build Coastguard Worker@ CHECK: uhadd8gt	r4, r8, r2      @ encoding: [0x92,0x4f,0x78,0xc6]
3258*9880d681SAndroid Build Coastguard Worker
3259*9880d681SAndroid Build Coastguard Worker
3260*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3261*9880d681SAndroid Build Coastguard Worker@ UHASX
3262*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3263*9880d681SAndroid Build Coastguard Worker        uhasx r4, r8, r2
3264*9880d681SAndroid Build Coastguard Worker        uhasxgt r4, r8, r2
3265*9880d681SAndroid Build Coastguard Worker
3266*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasx	r4, r8, r2              @ encoding: [0x32,0x4f,0x78,0xe6]
3267*9880d681SAndroid Build Coastguard Worker@ CHECK: uhasxgt r4, r8, r2             @ encoding: [0x32,0x4f,0x78,0xc6]
3268*9880d681SAndroid Build Coastguard Worker
3269*9880d681SAndroid Build Coastguard Worker
3270*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3271*9880d681SAndroid Build Coastguard Worker@ UHSUB16/UHSUB8
3272*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3273*9880d681SAndroid Build Coastguard Worker        uhsub16 r4, r8, r2
3274*9880d681SAndroid Build Coastguard Worker        uhsub16gt r4, r8, r2
3275*9880d681SAndroid Build Coastguard Worker        uhsub8 r4, r8, r2
3276*9880d681SAndroid Build Coastguard Worker        uhsub8gt r4, r8, r2
3277*9880d681SAndroid Build Coastguard Worker
3278*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub16	r4, r8, r2      @ encoding: [0x72,0x4f,0x78,0xe6]
3279*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub16gt	r4, r8, r2      @ encoding: [0x72,0x4f,0x78,0xc6]
3280*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub8	r4, r8, r2              @ encoding: [0xf2,0x4f,0x78,0xe6]
3281*9880d681SAndroid Build Coastguard Worker@ CHECK: uhsub8gt	r4, r8, r2      @ encoding: [0xf2,0x4f,0x78,0xc6]
3282*9880d681SAndroid Build Coastguard Worker
3283*9880d681SAndroid Build Coastguard Worker
3284*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3285*9880d681SAndroid Build Coastguard Worker@ UMAAL
3286*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3287*9880d681SAndroid Build Coastguard Worker        umaal r3, r4, r5, r6
3288*9880d681SAndroid Build Coastguard Worker        umaallt r3, r4, r5, r6
3289*9880d681SAndroid Build Coastguard Worker
3290*9880d681SAndroid Build Coastguard Worker@ CHECK: umaal	r3, r4, r5, r6          @ encoding: [0x95,0x36,0x44,0xe0]
3291*9880d681SAndroid Build Coastguard Worker@ CHECK: umaallt	r3, r4, r5, r6  @ encoding: [0x95,0x36,0x44,0xb0]
3292*9880d681SAndroid Build Coastguard Worker
3293*9880d681SAndroid Build Coastguard Worker
3294*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3295*9880d681SAndroid Build Coastguard Worker@ UMLAL
3296*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3297*9880d681SAndroid Build Coastguard Worker        umlal r2, r4, r6, r8
3298*9880d681SAndroid Build Coastguard Worker        umlalgt r6, r1, r2, r6
3299*9880d681SAndroid Build Coastguard Worker        umlals r2, r9, r2, r3
3300*9880d681SAndroid Build Coastguard Worker        umlalseq r3, r5, r1, r2
3301*9880d681SAndroid Build Coastguard Worker
3302*9880d681SAndroid Build Coastguard Worker@ CHECK: umlal	r2, r4, r6, r8          @ encoding: [0x96,0x28,0xa4,0xe0]
3303*9880d681SAndroid Build Coastguard Worker@ CHECK: umlalgt	r6, r1, r2, r6  @ encoding: [0x92,0x66,0xa1,0xc0]
3304*9880d681SAndroid Build Coastguard Worker@ CHECK: umlals	r2, r9, r2, r3          @ encoding: [0x92,0x23,0xb9,0xe0]
3305*9880d681SAndroid Build Coastguard Worker@ CHECK: umlalseq	r3, r5, r1, r2  @ encoding: [0x91,0x32,0xb5,0x00]
3306*9880d681SAndroid Build Coastguard Worker
3307*9880d681SAndroid Build Coastguard Worker
3308*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3309*9880d681SAndroid Build Coastguard Worker@ UMULL
3310*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3311*9880d681SAndroid Build Coastguard Worker        umull r2, r4, r6, r8
3312*9880d681SAndroid Build Coastguard Worker        umullgt r6, r1, r2, r6
3313*9880d681SAndroid Build Coastguard Worker        umulls r2, r9, r2, r3
3314*9880d681SAndroid Build Coastguard Worker        umullseq r3, r5, r1, r2
3315*9880d681SAndroid Build Coastguard Worker
3316*9880d681SAndroid Build Coastguard Worker@ CHECK: umull	r2, r4, r6, r8          @ encoding: [0x96,0x28,0x84,0xe0]
3317*9880d681SAndroid Build Coastguard Worker@ CHECK: umullgt	r6, r1, r2, r6  @ encoding: [0x92,0x66,0x81,0xc0]
3318*9880d681SAndroid Build Coastguard Worker@ CHECK: umulls	r2, r9, r2, r3          @ encoding: [0x92,0x23,0x99,0xe0]
3319*9880d681SAndroid Build Coastguard Worker@ CHECK: umullseq	r3, r5, r1, r2  @ encoding: [0x91,0x32,0x95,0x00]
3320*9880d681SAndroid Build Coastguard Worker
3321*9880d681SAndroid Build Coastguard Worker
3322*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3323*9880d681SAndroid Build Coastguard Worker@ UQADD16/UQADD8
3324*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3325*9880d681SAndroid Build Coastguard Worker        uqadd16 r1, r2, r3
3326*9880d681SAndroid Build Coastguard Worker        uqadd16gt r4, r7, r9
3327*9880d681SAndroid Build Coastguard Worker        uqadd8 r3, r4, r8
3328*9880d681SAndroid Build Coastguard Worker        uqadd8le r8, r1, r2
3329*9880d681SAndroid Build Coastguard Worker
3330*9880d681SAndroid Build Coastguard Worker
3331*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd16	r1, r2, r3      @ encoding: [0x13,0x1f,0x62,0xe6]
3332*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd16gt	r4, r7, r9      @ encoding: [0x19,0x4f,0x67,0xc6]
3333*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd8	r3, r4, r8              @ encoding: [0x98,0x3f,0x64,0xe6]
3334*9880d681SAndroid Build Coastguard Worker@ CHECK: uqadd8le	r8, r1, r2      @ encoding: [0x92,0x8f,0x61,0xd6]
3335*9880d681SAndroid Build Coastguard Worker
3336*9880d681SAndroid Build Coastguard Worker
3337*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3338*9880d681SAndroid Build Coastguard Worker@ UQASX
3339*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3340*9880d681SAndroid Build Coastguard Worker        uqasx r2, r4, r1
3341*9880d681SAndroid Build Coastguard Worker        uqasxhi r5, r2, r9
3342*9880d681SAndroid Build Coastguard Worker
3343*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasx	r2, r4, r1              @ encoding: [0x31,0x2f,0x64,0xe6]
3344*9880d681SAndroid Build Coastguard Worker@ CHECK: uqasxhi	r5, r2, r9      @ encoding: [0x39,0x5f,0x62,0x86]
3345*9880d681SAndroid Build Coastguard Worker
3346*9880d681SAndroid Build Coastguard Worker
3347*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3348*9880d681SAndroid Build Coastguard Worker@ UQSAX
3349*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3350*9880d681SAndroid Build Coastguard Worker        uqsax r1, r3, r7
3351*9880d681SAndroid Build Coastguard Worker        uqsaxal r3, r6, r2
3352*9880d681SAndroid Build Coastguard Worker
3353*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsax	r1, r3, r7              @ encoding: [0x57,0x1f,0x63,0xe6]
3354*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsax	r3, r6, r2              @ encoding: [0x52,0x3f,0x66,0xe6]
3355*9880d681SAndroid Build Coastguard Worker
3356*9880d681SAndroid Build Coastguard Worker
3357*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3358*9880d681SAndroid Build Coastguard Worker@ UQSUB16/UQSUB8
3359*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3360*9880d681SAndroid Build Coastguard Worker        uqsub16 r1, r5, r3
3361*9880d681SAndroid Build Coastguard Worker        uqsub16gt r3, r2, r5
3362*9880d681SAndroid Build Coastguard Worker        uqsub8 r2, r1, r4
3363*9880d681SAndroid Build Coastguard Worker        uqsub8le r4, r6, r9
3364*9880d681SAndroid Build Coastguard Worker
3365*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub16	r1, r5, r3      @ encoding: [0x73,0x1f,0x65,0xe6]
3366*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub16gt	r3, r2, r5      @ encoding: [0x75,0x3f,0x62,0xc6]
3367*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub8	r2, r1, r4              @ encoding: [0xf4,0x2f,0x61,0xe6]
3368*9880d681SAndroid Build Coastguard Worker@ CHECK: uqsub8le	r4, r6, r9      @ encoding: [0xf9,0x4f,0x66,0xd6]
3369*9880d681SAndroid Build Coastguard Worker
3370*9880d681SAndroid Build Coastguard Worker
3371*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3372*9880d681SAndroid Build Coastguard Worker@ USADA8/USAD8
3373*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3374*9880d681SAndroid Build Coastguard Worker        usad8 r2, r1, r4
3375*9880d681SAndroid Build Coastguard Worker        usad8le r4, r6, r9
3376*9880d681SAndroid Build Coastguard Worker        usada8 r1, r5, r3, r7
3377*9880d681SAndroid Build Coastguard Worker        usada8gt r3, r2, r5, r1
3378*9880d681SAndroid Build Coastguard Worker
3379*9880d681SAndroid Build Coastguard Worker@ CHECK: usad8	r2, r1, r4              @ encoding: [0x11,0xf4,0x82,0xe7]
3380*9880d681SAndroid Build Coastguard Worker@ CHECK: usad8le	r4, r6, r9      @ encoding: [0x16,0xf9,0x84,0xd7]
3381*9880d681SAndroid Build Coastguard Worker@ CHECK: usada8	r1, r5, r3, r7          @ encoding: [0x15,0x73,0x81,0xe7]
3382*9880d681SAndroid Build Coastguard Worker@ CHECK: usada8gt	r3, r2, r5, r1  @ encoding: [0x12,0x15,0x83,0xc7]
3383*9880d681SAndroid Build Coastguard Worker
3384*9880d681SAndroid Build Coastguard Worker
3385*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3386*9880d681SAndroid Build Coastguard Worker@ USAT
3387*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3388*9880d681SAndroid Build Coastguard Worker        usat	r8, #1, r10
3389*9880d681SAndroid Build Coastguard Worker        usat	r8, #4, r10, lsl #0
3390*9880d681SAndroid Build Coastguard Worker        usat	r8, #5, r10, lsl #31
3391*9880d681SAndroid Build Coastguard Worker        usat	r8, #31, r10, asr #32
3392*9880d681SAndroid Build Coastguard Worker        usat	r8, #16, r10, asr #1
3393*9880d681SAndroid Build Coastguard Worker
3394*9880d681SAndroid Build Coastguard Worker@ CHECK: usat	r8, #1, r10             @ encoding: [0x1a,0x80,0xe1,0xe6]
3395*9880d681SAndroid Build Coastguard Worker@ CHECK: usat	r8, #4, r10             @ encoding: [0x1a,0x80,0xe4,0xe6]
3396*9880d681SAndroid Build Coastguard Worker@ CHECK: usat	r8, #5, r10, lsl #31    @ encoding: [0x9a,0x8f,0xe5,0xe6]
3397*9880d681SAndroid Build Coastguard Worker@ CHECK: usat	r8, #31, r10, asr #32   @ encoding: [0x5a,0x80,0xff,0xe6]
3398*9880d681SAndroid Build Coastguard Worker@ CHECK: usat	r8, #16, r10, asr #1    @ encoding: [0xda,0x80,0xf0,0xe6]
3399*9880d681SAndroid Build Coastguard Worker
3400*9880d681SAndroid Build Coastguard Worker
3401*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3402*9880d681SAndroid Build Coastguard Worker@ USAT16
3403*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3404*9880d681SAndroid Build Coastguard Worker        usat16	r2, #2, r7
3405*9880d681SAndroid Build Coastguard Worker        usat16	r3, #15, r5
3406*9880d681SAndroid Build Coastguard Worker
3407*9880d681SAndroid Build Coastguard Worker@ CHECK: usat16	r2, #2, r7              @ encoding: [0x37,0x2f,0xe2,0xe6]
3408*9880d681SAndroid Build Coastguard Worker@ CHECK: usat16	r3, #15, r5             @ encoding: [0x35,0x3f,0xef,0xe6]
3409*9880d681SAndroid Build Coastguard Worker
3410*9880d681SAndroid Build Coastguard Worker
3411*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3412*9880d681SAndroid Build Coastguard Worker@ USAX
3413*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3414*9880d681SAndroid Build Coastguard Worker        usax r2, r3, r4
3415*9880d681SAndroid Build Coastguard Worker        usaxne r2, r3, r4
3416*9880d681SAndroid Build Coastguard Worker
3417*9880d681SAndroid Build Coastguard Worker@ CHECK: usax	r2, r3, r4              @ encoding: [0x54,0x2f,0x53,0xe6]
3418*9880d681SAndroid Build Coastguard Worker@ CHECK: usaxne	r2, r3, r4              @ encoding: [0x54,0x2f,0x53,0x16]
3419*9880d681SAndroid Build Coastguard Worker
3420*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3421*9880d681SAndroid Build Coastguard Worker@ USUB16/USUB8
3422*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3423*9880d681SAndroid Build Coastguard Worker        usub16 r4, r2, r7
3424*9880d681SAndroid Build Coastguard Worker        usub16hi r1, r1, r3
3425*9880d681SAndroid Build Coastguard Worker        usub8 r1, r8, r5
3426*9880d681SAndroid Build Coastguard Worker        usub8le r9, r2, r3
3427*9880d681SAndroid Build Coastguard Worker
3428*9880d681SAndroid Build Coastguard Worker@ CHECK: usub16	r4, r2, r7              @ encoding: [0x77,0x4f,0x52,0xe6]
3429*9880d681SAndroid Build Coastguard Worker@ CHECK: usub16hi	r1, r1, r3      @ encoding: [0x73,0x1f,0x51,0x86]
3430*9880d681SAndroid Build Coastguard Worker@ CHECK: usub8	r1, r8, r5              @ encoding: [0xf5,0x1f,0x58,0xe6]
3431*9880d681SAndroid Build Coastguard Worker@ CHECK: usub8le	r9, r2, r3      @ encoding: [0xf3,0x9f,0x52,0xd6]
3432*9880d681SAndroid Build Coastguard Worker
3433*9880d681SAndroid Build Coastguard Worker
3434*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3435*9880d681SAndroid Build Coastguard Worker@ UXTAB
3436*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3437*9880d681SAndroid Build Coastguard Worker        uxtab r2, r3, r4
3438*9880d681SAndroid Build Coastguard Worker        uxtab r4, r5, r6, ror #0
3439*9880d681SAndroid Build Coastguard Worker        uxtablt r6, r2, r9, ror #8
3440*9880d681SAndroid Build Coastguard Worker        uxtab r5, r1, r4, ror #16
3441*9880d681SAndroid Build Coastguard Worker        uxtab r7, r8, r3, ror #24
3442*9880d681SAndroid Build Coastguard Worker
3443*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab	r2, r3, r4              @ encoding: [0x74,0x20,0xe3,0xe6]
3444*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab	r4, r5, r6              @ encoding: [0x76,0x40,0xe5,0xe6]
3445*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtablt r6, r2, r9, ror #8     @ encoding: [0x79,0x64,0xe2,0xb6]
3446*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab	r5, r1, r4, ror #16     @ encoding: [0x74,0x58,0xe1,0xe6]
3447*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab	r7, r8, r3, ror #24     @ encoding: [0x73,0x7c,0xe8,0xe6]
3448*9880d681SAndroid Build Coastguard Worker
3449*9880d681SAndroid Build Coastguard Worker
3450*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3451*9880d681SAndroid Build Coastguard Worker@ UXTAB16
3452*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3453*9880d681SAndroid Build Coastguard Worker        uxtab16ge r0, r1, r4
3454*9880d681SAndroid Build Coastguard Worker        uxtab16 r6, r2, r7, ror #0
3455*9880d681SAndroid Build Coastguard Worker        uxtab16 r3, r5, r8, ror #8
3456*9880d681SAndroid Build Coastguard Worker        uxtab16 r3, r2, r1, ror #16
3457*9880d681SAndroid Build Coastguard Worker        uxtab16eq r1, r2, r3, ror #24
3458*9880d681SAndroid Build Coastguard Worker
3459*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16ge	r0, r1, r4      @ encoding: [0x74,0x00,0xc1,0xa6]
3460*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16	r6, r2, r7      @ encoding: [0x77,0x60,0xc2,0xe6]
3461*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16	r3, r5, r8, ror #8 @ encoding: [0x78,0x34,0xc5,0xe6]
3462*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16	r3, r2, r1, ror #16 @ encoding: [0x71,0x38,0xc2,0xe6]
3463*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtab16eq	r1, r2, r3, ror #24 @ encoding: [0x73,0x1c,0xc2,0x06]
3464*9880d681SAndroid Build Coastguard Worker
3465*9880d681SAndroid Build Coastguard Worker
3466*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3467*9880d681SAndroid Build Coastguard Worker@ UXTAH
3468*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3469*9880d681SAndroid Build Coastguard Worker        uxtah r1, r3, r9
3470*9880d681SAndroid Build Coastguard Worker        uxtahhi r6, r1, r6, ror #0
3471*9880d681SAndroid Build Coastguard Worker        uxtah r3, r8, r3, ror #8
3472*9880d681SAndroid Build Coastguard Worker        uxtahlo r2, r2, r4, ror #16
3473*9880d681SAndroid Build Coastguard Worker        uxtah r9, r3, r3, ror #24
3474*9880d681SAndroid Build Coastguard Worker
3475*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah	r1, r3, r9              @ encoding: [0x79,0x10,0xf3,0xe6]
3476*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtahhi	r6, r1, r6      @ encoding: [0x76,0x60,0xf1,0x86]
3477*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah	r3, r8, r3, ror #8      @ encoding: [0x73,0x34,0xf8,0xe6]
3478*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtahlo	r2, r2, r4, ror #16 @ encoding: [0x74,0x28,0xf2,0x36]
3479*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtah	r9, r3, r3, ror #24     @ encoding: [0x73,0x9c,0xf3,0xe6]
3480*9880d681SAndroid Build Coastguard Worker
3481*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3482*9880d681SAndroid Build Coastguard Worker@ UXTB
3483*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3484*9880d681SAndroid Build Coastguard Worker        uxtbge r2, r4
3485*9880d681SAndroid Build Coastguard Worker        uxtb r5, r6, ror #0
3486*9880d681SAndroid Build Coastguard Worker        uxtb r6, r9, ror #8
3487*9880d681SAndroid Build Coastguard Worker        uxtbcc r5, r1, ror #16
3488*9880d681SAndroid Build Coastguard Worker        uxtb r8, r3, ror #24
3489*9880d681SAndroid Build Coastguard Worker
3490*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtbge	r2, r4                  @ encoding: [0x74,0x20,0xef,0xa6]
3491*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb	r5, r6                  @ encoding: [0x76,0x50,0xef,0xe6]
3492*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb	r6, r9, ror #8          @ encoding: [0x79,0x64,0xef,0xe6]
3493*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtblo	r5, r1, ror #16         @ encoding: [0x71,0x58,0xef,0x36]
3494*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb	r8, r3, ror #24         @ encoding: [0x73,0x8c,0xef,0xe6]
3495*9880d681SAndroid Build Coastguard Worker
3496*9880d681SAndroid Build Coastguard Worker
3497*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3498*9880d681SAndroid Build Coastguard Worker@ UXTB16
3499*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3500*9880d681SAndroid Build Coastguard Worker        uxtb16 r1, r4
3501*9880d681SAndroid Build Coastguard Worker        uxtb16 r6, r7, ror #0
3502*9880d681SAndroid Build Coastguard Worker        uxtb16cs r3, r5, ror #8
3503*9880d681SAndroid Build Coastguard Worker        uxtb16 r3, r1, ror #16
3504*9880d681SAndroid Build Coastguard Worker        uxtb16ge r2, r3, ror #24
3505*9880d681SAndroid Build Coastguard Worker
3506*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16	r1, r4                  @ encoding: [0x74,0x10,0xcf,0xe6]
3507*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16	r6, r7                  @ encoding: [0x77,0x60,0xcf,0xe6]
3508*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16hs	r3, r5, ror #8  @ encoding: [0x75,0x34,0xcf,0x26]
3509*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16	r3, r1, ror #16         @ encoding: [0x71,0x38,0xcf,0xe6]
3510*9880d681SAndroid Build Coastguard Worker@ CHECK: uxtb16ge	r2, r3, ror #24 @ encoding: [0x73,0x2c,0xcf,0xa6]
3511*9880d681SAndroid Build Coastguard Worker
3512*9880d681SAndroid Build Coastguard Worker
3513*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3514*9880d681SAndroid Build Coastguard Worker@ UXTH
3515*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3516*9880d681SAndroid Build Coastguard Worker        uxthne r3, r9
3517*9880d681SAndroid Build Coastguard Worker        uxth r1, r6, ror #0
3518*9880d681SAndroid Build Coastguard Worker        uxth r3, r8, ror #8
3519*9880d681SAndroid Build Coastguard Worker        uxthle r2, r2, ror #16
3520*9880d681SAndroid Build Coastguard Worker        uxth r9, r3, ror #24
3521*9880d681SAndroid Build Coastguard Worker
3522*9880d681SAndroid Build Coastguard Worker@ CHECK: uxthne	r3, r9                  @ encoding: [0x79,0x30,0xff,0x16]
3523*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth	r1, r6                  @ encoding: [0x76,0x10,0xff,0xe6]
3524*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth	r3, r8, ror #8          @ encoding: [0x78,0x34,0xff,0xe6]
3525*9880d681SAndroid Build Coastguard Worker@ CHECK: uxthle	r2, r2, ror #16         @ encoding: [0x72,0x28,0xff,0xd6]
3526*9880d681SAndroid Build Coastguard Worker@ CHECK: uxth	r9, r3, ror #24         @ encoding: [0x73,0x9c,0xff,0xe6]
3527*9880d681SAndroid Build Coastguard Worker
3528*9880d681SAndroid Build Coastguard Worker
3529*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3530*9880d681SAndroid Build Coastguard Worker@ WFE/WFI/YIELD
3531*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
3532*9880d681SAndroid Build Coastguard Worker        wfe
3533*9880d681SAndroid Build Coastguard Worker        wfehi
3534*9880d681SAndroid Build Coastguard Worker        wfi
3535*9880d681SAndroid Build Coastguard Worker        wfilt
3536*9880d681SAndroid Build Coastguard Worker        yield
3537*9880d681SAndroid Build Coastguard Worker        yieldne
3538*9880d681SAndroid Build Coastguard Worker        hint #4
3539*9880d681SAndroid Build Coastguard Worker        hint #3
3540*9880d681SAndroid Build Coastguard Worker        hint #2
3541*9880d681SAndroid Build Coastguard Worker        hint #1
3542*9880d681SAndroid Build Coastguard Worker        hint #0
3543*9880d681SAndroid Build Coastguard Worker        hintgt #239
3544*9880d681SAndroid Build Coastguard Worker
3545*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe                            @ encoding: [0x02,0xf0,0x20,0xe3]
3546*9880d681SAndroid Build Coastguard Worker@ CHECK: wfehi                          @ encoding: [0x02,0xf0,0x20,0x83]
3547*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi                            @ encoding: [0x03,0xf0,0x20,0xe3]
3548*9880d681SAndroid Build Coastguard Worker@ CHECK: wfilt                          @ encoding: [0x03,0xf0,0x20,0xb3]
3549*9880d681SAndroid Build Coastguard Worker@ CHECK: yield                          @ encoding: [0x01,0xf0,0x20,0xe3]
3550*9880d681SAndroid Build Coastguard Worker@ CHECK: yieldne                        @ encoding: [0x01,0xf0,0x20,0x13]
3551*9880d681SAndroid Build Coastguard Worker@ CHECK: sev                            @ encoding: [0x04,0xf0,0x20,0xe3]
3552*9880d681SAndroid Build Coastguard Worker@ CHECK: wfi                            @ encoding: [0x03,0xf0,0x20,0xe3]
3553*9880d681SAndroid Build Coastguard Worker@ CHECK: wfe                            @ encoding: [0x02,0xf0,0x20,0xe3]
3554*9880d681SAndroid Build Coastguard Worker@ CHECK: yield                          @ encoding: [0x01,0xf0,0x20,0xe3]
3555*9880d681SAndroid Build Coastguard Worker@ CHECK: nop                            @ encoding: [0x00,0xf0,0x20,0xe3]
3556*9880d681SAndroid Build Coastguard Worker@ CHECK: hintgt #239                    @ encoding: [0xef,0xf0,0x20,0xc3]
3557