1 @ RUN
: llvm-mc
-triple
=armv7-apple-darwin
-mcpu
=cortex-a8
-show-encoding
< %s | FileCheck
%s
2 @ RUN
: llvm-mc
-triple
=armebv7-unknown-unknown
-mcpu
=cortex-a8
-show-encoding
< %s | FileCheck
--check-prefix
=CHECK-
BE %s
6 @ Check that the assembler can handle the documented syntax from the ARM ARM.
7 @ For complex constructs like shifter operands
, check more thoroughly for them
8 @ once then spot check that following instructions accept the form generally.
9 @ This gives us good coverage while keeping the overall size of the test
15 @
------------------------------------------------------------------------------
17 @
------------------------------------------------------------------------------
21 adc
r7, r8, #(0xff << 16)
22 adc
r7, r8, #-2147483638
27 adc
r7, r8, (2 * 20), (1 << 1)
33 adc
r1, r2, #0xf000000
34 adc
r1, r2, #0xf0000000
35 adc
r1, r2, #0xf000000f
41 @ CHECK
: adc
r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2]
42 @ CHECK
: adc
r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2]
43 @ CHECK
: adc
r1, r2, #15 @ encoding: [0x0f,0x10,0xa2,0xe2]
44 @ CHECK
: adc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xa8,0xe2]
45 @ CHECK
: adc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xa8,0xe2]
46 @ CHECK
: adc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xa8,0xe2]
47 @ CHECK
: adc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2]
48 @ CHECK
: adc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2]
49 @ CHECK
: adc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2]
50 @ CHECK
: adc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xa8,0xe2]
51 @ CHECK
: adc
r1, r2, #240 @ encoding: [0xf0,0x10,0xa2,0xe2]
52 @ CHECK
: adc
r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0xe2]
53 @ CHECK
: adc
r1, r2, #61440 @ encoding: [0x0f,0x1a,0xa2,0xe2]
54 @ CHECK
: adc
r1, r2, #983040 @ encoding: [0x0f,0x18,0xa2,0xe2]
55 @ CHECK
: adc
r1, r2, #15728640 @ encoding: [0x0f,0x16,0xa2,0xe2]
56 @ CHECK
: adc
r1, r2, #251658240 @ encoding: [0x0f,0x14,0xa2,0xe2]
57 @ CHECK
: adc
r1, r2, #-268435456 @ encoding: [0x0f,0x12,0xa2,0xe2]
58 @ CHECK
: adc
r1, r2, #-268435441 @ encoding: [0xff,0x12,0xa2,0xe2]
59 @ CHECK
: adcs
r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0xe2]
60 @ CHECK
: adcs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xb8,0xe2]
61 @ CHECK
: adcseq
r1, r2, #3840 @ encoding: [0x0f,0x1c,0xb2,0x02]
62 @ CHECK
: adceq
r1, r2, #3840 @ encoding: [0x0f,0x1c,0xa2,0x02]
64 @
------------------------------------------------------------------------------
66 @ ADC
(shifted register
)
67 @
------------------------------------------------------------------------------
70 adc
r4, r5, r6, lsl
#1
71 adc
r4, r5, r6, lsl
#31
72 adc
r4, r5, r6, lsr
#1
73 adc
r4, r5, r6, lsr
#31
74 adc
r4, r5, r6, lsr
#32
75 adc
r4, r5, r6, asr
#1
76 adc
r4, r5, r6, asr
#31
77 adc
r4, r5, r6, asr
#32
78 adc
r4, r5, r6, ror
#1
79 adc
r4, r5, r6, ror
#31
82 adc
r6, r7, r8, lsl
r9
83 adc
r6, r7, r8, lsr
r9
84 adc
r6, r7, r8, asr
r9
85 adc
r6, r7, r8, ror
r9
88 @ Destination register is optional
107 @ CHECK
: adc
r4, r5, r6 @ encoding
: [0x06,0x40,0xa5,0xe0]
109 @ CHECK
: adc
r4, r5, r6, lsl
#1 @ encoding: [0x86,0x40,0xa5,0xe0]
110 @ CHECK
: adc
r4, r5, r6, lsl
#31 @ encoding: [0x86,0x4f,0xa5,0xe0]
111 @ CHECK
: adc
r4, r5, r6, lsr
#1 @ encoding: [0xa6,0x40,0xa5,0xe0]
112 @ CHECK
: adc
r4, r5, r6, lsr
#31 @ encoding: [0xa6,0x4f,0xa5,0xe0]
113 @ CHECK
: adc
r4, r5, r6, lsr
#32 @ encoding: [0x26,0x40,0xa5,0xe0]
114 @ CHECK
: adc
r4, r5, r6, asr
#1 @ encoding: [0xc6,0x40,0xa5,0xe0]
115 @ CHECK
: adc
r4, r5, r6, asr
#31 @ encoding: [0xc6,0x4f,0xa5,0xe0]
116 @ CHECK
: adc
r4, r5, r6, asr
#32 @ encoding: [0x46,0x40,0xa5,0xe0]
117 @ CHECK
: adc
r4, r5, r6, ror
#1 @ encoding: [0xe6,0x40,0xa5,0xe0]
118 @ CHECK
: adc
r4, r5, r6, ror
#31 @ encoding: [0xe6,0x4f,0xa5,0xe0]
120 @ CHECK
: adc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xa7,0xe0]
121 @ CHECK
: adc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xa7,0xe0]
122 @ CHECK
: adc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xa7,0xe0]
123 @ CHECK
: adc
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xa7,0xe0]
124 @ CHECK
: adc
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0xa5,0xe0]
126 @ CHECK
: adc
r5, r5, r6 @ encoding
: [0x06,0x50,0xa5,0xe0]
127 @ CHECK
: adc
r4, r4, r5, lsl
#1 @ encoding: [0x85,0x40,0xa4,0xe0]
128 @ CHECK
: adc
r4, r4, r5, lsl
#31 @ encoding: [0x85,0x4f,0xa4,0xe0]
129 @ CHECK
: adc
r4, r4, r5, lsr
#1 @ encoding: [0xa5,0x40,0xa4,0xe0]
130 @ CHECK
: adc
r4, r4, r5, lsr
#31 @ encoding: [0xa5,0x4f,0xa4,0xe0]
131 @ CHECK
: adc
r4, r4, r5, lsr
#32 @ encoding: [0x25,0x40,0xa4,0xe0]
132 @ CHECK
: adc
r4, r4, r5, asr
#1 @ encoding: [0xc5,0x40,0xa4,0xe0]
133 @ CHECK
: adc
r4, r4, r5, asr
#31 @ encoding: [0xc5,0x4f,0xa4,0xe0]
134 @ CHECK
: adc
r4, r4, r5, asr
#32 @ encoding: [0x45,0x40,0xa4,0xe0]
135 @ CHECK
: adc
r4, r4, r5, ror
#1 @ encoding: [0xe5,0x40,0xa4,0xe0]
136 @ CHECK
: adc
r4, r4, r5, ror
#31 @ encoding: [0xe5,0x4f,0xa4,0xe0]
137 @ CHECK
: adc
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0xa4,0xe0]
138 @ CHECK
: adc
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xa6,0xe0]
139 @ CHECK
: adc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xa6,0xe0]
140 @ CHECK
: adc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xa6,0xe0]
141 @ CHECK
: adc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xa6,0xe0]
142 @ CHECK
: adc
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0xa4,0xe0]
145 @
------------------------------------------------------------------------------
147 @
------------------------------------------------------------------------------
156 @ CHECK
: adr
r2, Lback @ encoding
: [A,0x20'A',0x0f'A',0xe2'A']
157 @ CHECK
: @ fixup
A - offset
: 0, value
: Lback
, kind
: fixup_arm_adr_pcrel_12
158 @ CHECK-
BE: adr
r2, Lback @ encoding
: [0xe2'A',0x0f'A',0x20'A',A]
159 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: Lback
, kind
: fixup_arm_adr_pcrel_12
160 @ CHECK
: adr
r3, Lforward @ encoding
: [A,0x30'A',0x0f'A',0xe2'A']
161 @ CHECK
: @ fixup
A - offset
: 0, value
: Lforward
, kind
: fixup_arm_adr_pcrel_12
162 @ CHECK-
BE: adr
r3, Lforward @ encoding
: [0xe2'A',0x0f'A',0x30'A',A]
163 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: Lforward
, kind
: fixup_arm_adr_pcrel_12
165 @ CHECK
: adr
r2, #3 @ encoding: [0x03,0x20,0x8f,0xe2]
166 @ CHECK
: adr
r2, #-3 @ encoding: [0x03,0x20,0x4f,0xe2]
174 @ CHECK
: adr
r1, #-0 @ encoding: [0x00,0x10,0x4f,0xe2]
175 @ CHECK
: adr
r1, #-301989888 @ encoding: [0x12,0x14,0x4f,0xe2]
176 @ CHECK
: adr
r1, #2147483647 @ encoding: [0x06,0x11,0x4f,0xe2]
177 @ CHECK
: adr
r1, #301989888 @ encoding: [0x12,0x14,0x8f,0xe2]
178 @ CHECK
: adr
r1, #-2147483647 @ encoding: [0x06,0x11,0x8f,0xe2]
180 @
------------------------------------------------------------------------------
182 @
------------------------------------------------------------------------------
187 add r7, r8, #(0xff << 16)
188 add r7, r8, #-2147483638
193 add r7, r8, (2 * 20), (1 << 1)
195 add r4, r5, r6, lsl
#5
196 add r4, r5, r6, lsr
#5
197 add r4, r5, r6, lsr
#5
198 add r4, r5, r6, asr
#5
199 add r4, r5, r6, ror
#5
200 add r6, r7, r8, lsl
r9
201 add r4, r4, r3, asl
r9
202 add r6, r7, r8, lsr
r9
203 add r6, r7, r8, asr
r9
204 add r6, r7, r8, ror
r9
207 @ destination register is optional
212 add r7, #(0xff << 16)
218 add r7, (2 * 20), (1 << 1)
233 add r0, pc
, #0xc0000000
234 addseq
r0,pc
,#0xc0000000
237 add r0, pc
, #(Lback - .)
239 @ CHECK
: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2]
240 @ CHECK
: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2]
241 @ CHECK
: add r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe2]
242 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
243 @ CHECK
: add r7, r8, #16711680 @ encoding: [0xff,0x78,0x88,0xe2]
244 @ CHECK
: add r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe2]
245 @ CHECK
: add r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe2]
246 @ CHECK
: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2]
247 @ CHECK
: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2]
248 @ CHECK
: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2]
249 @ CHECK
: add r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe2]
250 @ CHECK
: add r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0xe0]
251 @ CHECK
: add r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x85,0xe0]
252 @ CHECK
: add r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe0]
253 @ CHECK
: add r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe0]
254 @ CHECK
: add r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x85,0xe0]
255 @ CHECK
: add r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x85,0xe0]
256 @ CHECK
: add r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x87,0xe0]
257 @ CHECK
: add r4, r4, r3, lsl
r9 @ encoding
: [0x13,0x49,0x84,0xe0]
258 @ CHECK
: add r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x87,0xe0]
259 @ CHECK
: add r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x87,0xe0]
260 @ CHECK
: add r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0xe0]
261 @ CHECK
: add r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x85,0xe0]
263 @ CHECK
: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2]
264 @ CHECK
: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2]
265 @ CHECK
: add r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe2]
266 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
267 @ CHECK
: add r7, r7, #16711680 @ encoding: [0xff,0x78,0x87,0xe2]
268 @ CHECK
: add r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe2]
269 @ CHECK
: add r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe2]
270 @ CHECK
: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2]
271 @ CHECK
: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2]
272 @ CHECK
: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2]
273 @ CHECK
: add r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe2]
274 @ CHECK
: add r4, r4, r5 @ encoding
: [0x05,0x40,0x84,0xe0]
275 @ CHECK
: add r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x84,0xe0]
276 @ CHECK
: add r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe0]
277 @ CHECK
: add r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe0]
278 @ CHECK
: add r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x84,0xe0]
279 @ CHECK
: add r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x84,0xe0]
280 @ CHECK
: add r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x86,0xe0]
281 @ CHECK
: add r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x86,0xe0]
282 @ CHECK
: add r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0xe0]
283 @ CHECK
: add r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x86,0xe0]
284 @ CHECK
: add r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x84,0xe0]
286 @ CHECK
: sub r0, r0, #4 @ encoding: [0x04,0x00,0x40,0xe2]
287 @ CHECK
: sub r4, r5, #21 @ encoding: [0x15,0x40,0x45,0xe2]
288 @ CHECK
: adr
r0, #-1073741824 @ encoding: [0x03,0x01,0x8f,0xe2]
289 @ CHECK
: addseq
r0, pc
, #-1073741824 @ encoding: [0x03,0x01,0x9f,0x02]
292 @ CHECK-NEXT
: adr
r0, (Ltmp1+
8)+(Lback-Ltmp0
) @ encoding
: [A,A,0x0f'A',0xe2'A']
293 @ CHECK-NEXT
: @ fixup
A - offset
: 0, value
: (Ltmp1+
8)+(Lback-Ltmp0
), kind
: fixup_arm_adr_pcrel_12
295 @ Test right shift by
32, which is encoded as
0
296 add r3, r1, r2, lsr
#32
297 add r3, r1, r2, asr
#32
298 @ CHECK
: add r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x81,0xe0]
299 @ CHECK
: add r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x81,0xe0]
301 @
------------------------------------------------------------------------------
303 @
------------------------------------------------------------------------------
304 adds
r7, r8, #16711680
305 adds
r7, r8, $
16711680
306 adds
r7, r8, 16711680
307 adds
r7, r8, #(0xff << 16)
308 adds
r7, r8, #-2147483638
313 adds
r7, r8, (2 * 20), (1 << 1)
315 @ CHECK
: adds
r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2]
316 @ CHECK
: adds
r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2]
317 @ CHECK
: adds
r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2]
318 @ CHECK
: adds
r7, r8, #16711680 @ encoding: [0xff,0x78,0x98,0xe2]
319 @ CHECK
: adds
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x98,0xe2]
320 @ CHECK
: adds
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x98,0xe2]
321 @ CHECK
: adds
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2]
322 @ CHECK
: adds
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2]
323 @ CHECK
: adds
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2]
324 @ CHECK
: adds
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x98,0xe2]
326 @
------------------------------------------------------------------------------
328 @
------------------------------------------------------------------------------
333 and r7, r8, #(0xff << 16)
334 and r7, r8, #-2147483638
339 and r7, r8, (2 * 20), (1 << 1)
341 and r10, r1, r6, lsl
#10
342 and r10, r1, r6, lsr
#10
343 and r10, r1, r6, lsr
#10
344 and r10, r1, r6, asr
#10
345 and r10, r1, r6, ror
#10
346 and r6, r7, r8, lsl
r2
347 and r6, r7, r8, lsr
r2
348 and r6, r7, r8, asr
r2
349 and r6, r7, r8, ror
r2
351 and r2, r3, #0x7fffffff
352 and sp
, sp
, #0x7fffffff
353 and pc
, pc
, #0x7fffffff
355 @ destination register is optional
360 and r7, #(0xff << 16)
366 and r7, (2 * 20), (1 << 1)
379 @ CHECK
: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2]
380 @ CHECK
: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2]
381 @ CHECK
: and r10, r1, #15 @ encoding: [0x0f,0xa0,0x01,0xe2]
382 @ CHECK
: bic
r10, r1, #14 @ encoding: [0x0e,0xa0,0xc1,0xe3]
383 @ CHECK
: and r7, r8, #16711680 @ encoding: [0xff,0x78,0x08,0xe2]
384 @ CHECK
: and r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x08,0xe2]
385 @ CHECK
: and r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x08,0xe2]
386 @ CHECK
: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2]
387 @ CHECK
: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2]
388 @ CHECK
: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2]
389 @ CHECK
: and r7, r8, #40, #2 @ encoding: [0x28,0x71,0x08,0xe2]
390 @ CHECK
: and r10, r1, r6 @ encoding
: [0x06,0xa0,0x01,0xe0]
391 @ CHECK
: and r10, r1, r6, lsl
#10 @ encoding: [0x06,0xa5,0x01,0xe0]
392 @ CHECK
: and r10, r1, r6, lsr
#10 @ encoding: [0x26,0xa5,0x01,0xe0]
393 @ CHECK
: and r10, r1, r6, lsr
#10 @ encoding: [0x26,0xa5,0x01,0xe0]
394 @ CHECK
: and r10, r1, r6, asr
#10 @ encoding: [0x46,0xa5,0x01,0xe0]
395 @ CHECK
: and r10, r1, r6, ror
#10 @ encoding: [0x66,0xa5,0x01,0xe0]
396 @ CHECK
: and r6, r7, r8, lsl
r2 @ encoding
: [0x18,0x62,0x07,0xe0]
397 @ CHECK
: and r6, r7, r8, lsr
r2 @ encoding
: [0x38,0x62,0x07,0xe0]
398 @ CHECK
: and r6, r7, r8, asr
r2 @ encoding
: [0x58,0x62,0x07,0xe0]
399 @ CHECK
: and r6, r7, r8, ror
r2 @ encoding
: [0x78,0x62,0x07,0xe0]
400 @ CHECK
: and r10, r1, r6, rrx @ encoding
: [0x66,0xa0,0x01,0xe0]
401 @ CHECK
: bic
r2, r3, #-2147483648 @ encoding: [0x02,0x21,0xc3,0xe3]
402 @ CHECK
: bic sp
, sp
, #-2147483648 @ encoding: [0x02,0xd1,0xcd,0xe3]
403 @ CHECK
: bic pc
, pc
, #-2147483648 @ encoding: [0x02,0xf1,0xcf,0xe3]
405 @ CHECK
: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2]
406 @ CHECK
: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2]
407 @ CHECK
: and r1, r1, #15 @ encoding: [0x0f,0x10,0x01,0xe2]
408 @ CHECK
: bic
r1, r1, #14 @ encoding: [0x0e,0x10,0xc1,0xe3]
409 @ CHECK
: and r7, r7, #16711680 @ encoding: [0xff,0x78,0x07,0xe2]
410 @ CHECK
: and r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x07,0xe2]
411 @ CHECK
: and r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x07,0xe2]
412 @ CHECK
: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2]
413 @ CHECK
: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2]
414 @ CHECK
: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2]
415 @ CHECK
: and r7, r7, #40, #2 @ encoding: [0x28,0x71,0x07,0xe2]
416 @ CHECK
: and r10, r10, r1 @ encoding
: [0x01,0xa0,0x0a,0xe0]
417 @ CHECK
: and r10, r10, r1, lsl
#10 @ encoding: [0x01,0xa5,0x0a,0xe0]
418 @ CHECK
: and r10, r10, r1, lsr
#10 @ encoding: [0x21,0xa5,0x0a,0xe0]
419 @ CHECK
: and r10, r10, r1, lsr
#10 @ encoding: [0x21,0xa5,0x0a,0xe0]
420 @ CHECK
: and r10, r10, r1, asr
#10 @ encoding: [0x41,0xa5,0x0a,0xe0]
421 @ CHECK
: and r10, r10, r1, ror
#10 @ encoding: [0x61,0xa5,0x0a,0xe0]
422 @ CHECK
: and r6, r6, r7, lsl
r2 @ encoding
: [0x17,0x62,0x06,0xe0]
423 @ CHECK
: and r6, r6, r7, lsr
r2 @ encoding
: [0x37,0x62,0x06,0xe0]
424 @ CHECK
: and r6, r6, r7, asr
r2 @ encoding
: [0x57,0x62,0x06,0xe0]
425 @ CHECK
: and r6, r6, r7, ror
r2 @ encoding
: [0x77,0x62,0x06,0xe0]
426 @ CHECK
: and r10, r10, r1, rrx @ encoding
: [0x61,0xa0,0x0a,0xe0]
428 @ Test right shift by
32, which is encoded as
0
429 and r3, r1, r2, lsr
#32
430 and r3, r1, r2, asr
#32
431 @ CHECK
: and r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x01,0xe0]
432 @ CHECK
: and r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x01,0xe0]
434 @
------------------------------------------------------------------------------
436 @
------------------------------------------------------------------------------
442 @ CHECK
: asr
r2, r4, #32 @ encoding: [0x44,0x20,0xa0,0xe1]
443 @ CHECK
: asr
r2, r4, #2 @ encoding: [0x44,0x21,0xa0,0xe1]
444 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
445 @ CHECK
: asr
r4, r4, #2 @ encoding: [0x44,0x41,0xa0,0xe1]
448 @
------------------------------------------------------------------------------
450 @
------------------------------------------------------------------------------
454 @ CHECK
: b _bar @ encoding
: [A,A,A,0xea]
455 @ CHECK
: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_uncondbranch
456 @ CHECK-
BE: b _bar @ encoding
: [0xea,A,A,A]
457 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_uncondbranch
458 @ CHECK
: beq _baz @ encoding
: [A,A,A,0x0a]
459 @ CHECK
: @ fixup
A - offset
: 0, value
: _baz
, kind
: fixup_arm_condbranch
460 @ CHECK-
BE: beq _baz @ encoding
: [0x0a,A,A,A]
461 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: _baz
, kind
: fixup_arm_condbranch
464 @
------------------------------------------------------------------------------
466 @
------------------------------------------------------------------------------
470 @ CHECK
: bfc
r5, #3, #17 @ encoding: [0x9f,0x51,0xd3,0xe7]
471 @ CHECK
: bfclo
r5, #3, #17 @ encoding: [0x9f,0x51,0xd3,0x37]
474 @
------------------------------------------------------------------------------
476 @
------------------------------------------------------------------------------
478 bfine
r5, r2, #3, #17
480 @ CHECK
: bfi
r5, r2, #3, #17 @ encoding: [0x92,0x51,0xd3,0xe7]
481 @ CHECK
: bfine
r5, r2, #3, #17 @ encoding: [0x92,0x51,0xd3,0x17]
484 @
------------------------------------------------------------------------------
486 @
------------------------------------------------------------------------------
491 bic
r7, r8, #(0xff << 16)
492 bic
r7, r8, #-2147483638
497 bic
r7, r8, (2 * 20), (1 << 1)
499 bic
r10, r1, r6, lsl
#10
500 bic
r10, r1, r6, lsr
#10
501 bic
r10, r1, r6, lsr
#10
502 bic
r10, r1, r6, asr
#10
503 bic
r10, r1, r6, ror
#10
504 bic
r6, r7, r8, lsl
r2
505 bic
r6, r7, r8, lsr
r2
506 bic
r6, r7, r8, asr
r2
507 bic
r6, r7, r8, ror
r2
509 bic
r2, r3, #0x7fffffff
510 bic sp
, sp
, #0x7fffffff
511 bic pc
, pc
, #0x7fffffff
514 @ destination register is optional
519 bic
r7, #(0xff << 16)
525 bic
r7, (2 * 20), (1 << 1)
538 @ CHECK
: bic
r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3]
539 @ CHECK
: bic
r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3]
540 @ CHECK
: bic
r10, r1, #15 @ encoding: [0x0f,0xa0,0xc1,0xe3]
541 @ CHECK
: and r10, r1, #14 @ encoding: [0x0e,0xa0,0x01,0xe2]
542 @ CHECK
: bic
r7, r8, #16711680 @ encoding: [0xff,0x78,0xc8,0xe3]
543 @ CHECK
: bic
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe3]
544 @ CHECK
: bic
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe3]
545 @ CHECK
: bic
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe3]
546 @ CHECK
: bic
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe3]
547 @ CHECK
: bic
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe3]
548 @ CHECK
: bic
r10, r1, r6 @ encoding
: [0x06,0xa0,0xc1,0xe1]
549 @ CHECK
: bic
r10, r1, r6, lsl
#10 @ encoding: [0x06,0xa5,0xc1,0xe1]
550 @ CHECK
: bic
r10, r1, r6, lsr
#10 @ encoding: [0x26,0xa5,0xc1,0xe1]
551 @ CHECK
: bic
r10, r1, r6, lsr
#10 @ encoding: [0x26,0xa5,0xc1,0xe1]
552 @ CHECK
: bic
r10, r1, r6, asr
#10 @ encoding: [0x46,0xa5,0xc1,0xe1]
553 @ CHECK
: bic
r10, r1, r6, ror
#10 @ encoding: [0x66,0xa5,0xc1,0xe1]
554 @ CHECK
: bic
r6, r7, r8, lsl
r2 @ encoding
: [0x18,0x62,0xc7,0xe1]
555 @ CHECK
: bic
r6, r7, r8, lsr
r2 @ encoding
: [0x38,0x62,0xc7,0xe1]
556 @ CHECK
: bic
r6, r7, r8, asr
r2 @ encoding
: [0x58,0x62,0xc7,0xe1]
557 @ CHECK
: bic
r6, r7, r8, ror
r2 @ encoding
: [0x78,0x62,0xc7,0xe1]
558 @ CHECK
: bic
r10, r1, r6, rrx @ encoding
: [0x66,0xa0,0xc1,0xe1]
559 @ CHECK
: and r2, r3, #-2147483648 @ encoding: [0x02,0x21,0x03,0xe2]
560 @ CHECK
: and sp
, sp
, #-2147483648 @ encoding: [0x02,0xd1,0x0d,0xe2]
561 @ CHECK
: and pc
, pc
, #-2147483648 @ encoding: [0x02,0xf1,0x0f,0xe2]
564 @ CHECK
: bic
r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3]
565 @ CHECK
: bic
r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3]
566 @ CHECK
: bic
r1, r1, #15 @ encoding: [0x0f,0x10,0xc1,0xe3]
567 @ CHECK
: and r1, r1, #14 @ encoding: [0x0e,0x10,0x01,0xe2]
568 @ CHECK
: bic
r7, r7, #16711680 @ encoding: [0xff,0x78,0xc7,0xe3]
569 @ CHECK
: bic
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe3]
570 @ CHECK
: bic
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe3]
571 @ CHECK
: bic
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3]
572 @ CHECK
: bic
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3]
573 @ CHECK
: bic
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3]
574 @ CHECK
: bic
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe3]
575 @ CHECK
: bic
r10, r10, r1 @ encoding
: [0x01,0xa0,0xca,0xe1]
576 @ CHECK
: bic
r10, r10, r1, lsl
#10 @ encoding: [0x01,0xa5,0xca,0xe1]
577 @ CHECK
: bic
r10, r10, r1, lsr
#10 @ encoding: [0x21,0xa5,0xca,0xe1]
578 @ CHECK
: bic
r10, r10, r1, lsr
#10 @ encoding: [0x21,0xa5,0xca,0xe1]
579 @ CHECK
: bic
r10, r10, r1, asr
#10 @ encoding: [0x41,0xa5,0xca,0xe1]
580 @ CHECK
: bic
r10, r10, r1, ror
#10 @ encoding: [0x61,0xa5,0xca,0xe1]
581 @ CHECK
: bic
r6, r6, r7, lsl
r2 @ encoding
: [0x17,0x62,0xc6,0xe1]
582 @ CHECK
: bic
r6, r6, r7, lsr
r2 @ encoding
: [0x37,0x62,0xc6,0xe1]
583 @ CHECK
: bic
r6, r6, r7, asr
r2 @ encoding
: [0x57,0x62,0xc6,0xe1]
584 @ CHECK
: bic
r6, r6, r7, ror
r2 @ encoding
: [0x77,0x62,0xc6,0xe1]
585 @ CHECK
: bic
r10, r10, r1, rrx @ encoding
: [0x61,0xa0,0xca,0xe1]
587 @ Test right shift by
32, which is encoded as
0
588 bic
r3, r1, r2, lsr
#32
589 bic
r3, r1, r2, asr
#32
590 @ CHECK
: bic
r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0xc1,0xe1]
591 @ CHECK
: bic
r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0xc1,0xe1]
593 @
------------------------------------------------------------------------------
595 @
------------------------------------------------------------------------------
599 @ CHECK
: bkpt
#10 @ encoding: [0x7a,0x00,0x20,0xe1]
600 @ CHECK
: bkpt
#65535 @ encoding: [0x7f,0xff,0x2f,0xe1]
602 @
------------------------------------------------------------------------------
604 @
------------------------------------------------------------------------------
613 @ CHECK
: bl _bar @ encoding
: [A,A,A,0xeb]
614 @ CHECK
: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_uncondbl
615 @ CHECK-
BE: bl _bar @ encoding
: [0xeb,A,A,A]
616 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_uncondbl
617 @ CHECK
: bleq _bar @ encoding
: [A,A,A,0x0b]
618 @ CHECK
: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_condbl
619 @ CHECK-
BE: bleq _bar @ encoding
: [0x0b,A,A,A]
620 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_condbl
621 @ CHECK
: blx _bar @ encoding
: [A,A,A,0xfa]
622 @ CHECK
: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_blx
623 @ CHECK-
BE: blx _bar @ encoding
: [0xfa,A,A,A]
624 @ CHECK-
BE: @ fixup
A - offset
: 0, value
: _bar
, kind
: fixup_arm_blx
625 @ CHECK
: blls
#28634268 @ encoding: [0x27,0x3b,0x6d,0x9b]
626 @ CHECK
: blx
#32424576 @ encoding: [0xa0,0xb0,0x7b,0xfa]
627 @ CHECK
: blx
#16212288 @ encoding: [0x50,0xd8,0x3d,0xfa]
628 @
------------------------------------------------------------------------------
630 @
------------------------------------------------------------------------------
634 @ CHECK
: blx
r2 @ encoding
: [0x32,0xff,0x2f,0xe1]
635 @ CHECK
: blxne
r2 @ encoding
: [0x32,0xff,0x2f,0x11]
637 @
------------------------------------------------------------------------------
639 @
------------------------------------------------------------------------------
643 @ CHECK
: bx
r2 @ encoding
: [0x12,0xff,0x2f,0xe1]
644 @ CHECK
: bxne
r2 @ encoding
: [0x12,0xff,0x2f,0x11]
646 @
------------------------------------------------------------------------------
648 @
------------------------------------------------------------------------------
652 @ CHECK
: bxj
r2 @ encoding
: [0x22,0xff,0x2f,0xe1]
653 @ CHECK
: bxjne
r2 @ encoding
: [0x22,0xff,0x2f,0x11]
656 @
------------------------------------------------------------------------------
658 @
------------------------------------------------------------------------------
659 cdp p7
, #1, c1, c1, c1, #4
660 cdp2 p7
, #1, c1, c1, c1, #4
661 cdp2 p12
, #0, c6, c12, c0, #7
663 @ CHECK
: cdp p7
, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xee]
664 @ CHECK
: cdp2 p7
, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0xfe]
665 @ CHECK
: cdp2 p12
, #0, c6, c12, c0, #7 @ encoding: [0xe0,0x6c,0x0c,0xfe]
667 cdpne p7
, #1, c1, c1, c1, #4
668 @ CHECK
: cdpne p7
, #1, c1, c1, c1, #4 @ encoding: [0x81,0x17,0x11,0x1e]
670 @
------------------------------------------------------------------------------
672 @
------------------------------------------------------------------------------
675 @ CHECK
: clrex @ encoding
: [0x1f,0xf0,0x7f,0xf5]
678 @
------------------------------------------------------------------------------
680 @
------------------------------------------------------------------------------
684 @ CHECK
: clz
r1, r2 @ encoding
: [0x12,0x1f,0x6f,0xe1]
685 @ CHECK
: clzeq
r1, r2 @ encoding
: [0x12,0x1f,0x6f,0x01]
687 @
------------------------------------------------------------------------------
689 @
------------------------------------------------------------------------------
694 cmn
r7, #(0xff << 16)
700 cmn
r7, (20 * 2), (1 << 1)
713 @ CHECK
: cmn
r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3]
714 @ CHECK
: cmn
r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3]
715 @ CHECK
: cmn
r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3]
716 @ CHECK
: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3]
717 @ CHECK
: cmn
r7, #16711680 @ encoding: [0xff,0x08,0x77,0xe3]
718 @ CHECK
: cmn
r7, #-2147483638 @ encoding: [0x2a,0x01,0x77,0xe3]
719 @ CHECK
: cmn
r7, #-2147483638 @ encoding: [0x2a,0x01,0x77,0xe3]
720 @ CHECK
: cmn
r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3]
721 @ CHECK
: cmn
r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3]
722 @ CHECK
: cmn
r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3]
723 @ CHECK
: cmn
r7, #40, #2 @ encoding: [0x28,0x01,0x77,0xe3]
724 @ CHECK
: cmn
r1, r6 @ encoding
: [0x06,0x00,0x71,0xe1]
725 @ CHECK
: cmn
r1, r6, lsl
#10 @ encoding: [0x06,0x05,0x71,0xe1]
726 @ CHECK
: cmn
r1, r6, lsr
#10 @ encoding: [0x26,0x05,0x71,0xe1]
727 @ CHECK
: cmn sp
, r6, lsr
#10 @ encoding: [0x26,0x05,0x7d,0xe1]
728 @ CHECK
: cmn
r1, r6, asr
#10 @ encoding: [0x46,0x05,0x71,0xe1]
729 @ CHECK
: cmn
r1, r6, ror
#10 @ encoding: [0x66,0x05,0x71,0xe1]
730 @ CHECK
: cmn
r7, r8, lsl
r2 @ encoding
: [0x18,0x02,0x77,0xe1]
731 @ CHECK
: cmn sp
, r8, lsr
r2 @ encoding
: [0x38,0x02,0x7d,0xe1]
732 @ CHECK
: cmn
r7, r8, asr
r2 @ encoding
: [0x58,0x02,0x77,0xe1]
733 @ CHECK
: cmn
r7, r8, ror
r2 @ encoding
: [0x78,0x02,0x77,0xe1]
734 @ CHECK
: cmn
r1, r6, rrx @ encoding
: [0x66,0x00,0x71,0xe1]
736 @
------------------------------------------------------------------------------
738 @
------------------------------------------------------------------------------
743 cmp r7, #(0xff << 16)
749 cmp r7, (2 * 20), (1 << 1)
764 @ CHECK
: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3]
765 @ CHECK
: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3]
766 @ CHECK
: cmp r1, #15 @ encoding: [0x0f,0x00,0x51,0xe3]
767 @ CHECK
: cmn
r1, #15 @ encoding: [0x0f,0x00,0x71,0xe3]
768 @ CHECK
: cmp r7, #16711680 @ encoding: [0xff,0x08,0x57,0xe3]
769 @ CHECK
: cmp r7, #-2147483638 @ encoding: [0x2a,0x01,0x57,0xe3]
770 @ CHECK
: cmp r7, #-2147483638 @ encoding: [0x2a,0x01,0x57,0xe3]
771 @ CHECK
: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3]
772 @ CHECK
: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3]
773 @ CHECK
: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3]
774 @ CHECK
: cmp r7, #40, #2 @ encoding: [0x28,0x01,0x57,0xe3]
775 @ CHECK
: cmp r1, r6 @ encoding
: [0x06,0x00,0x51,0xe1]
776 @ CHECK
: cmp r1, r6, lsl
#10 @ encoding: [0x06,0x05,0x51,0xe1]
777 @ CHECK
: cmp r1, r6, lsr
#10 @ encoding: [0x26,0x05,0x51,0xe1]
778 @ CHECK
: cmp sp
, r6, lsr
#10 @ encoding: [0x26,0x05,0x5d,0xe1]
779 @ CHECK
: cmp r1, r6, asr
#10 @ encoding: [0x46,0x05,0x51,0xe1]
780 @ CHECK
: cmp r1, r6, ror
#10 @ encoding: [0x66,0x05,0x51,0xe1]
781 @ CHECK
: cmp r7, r8, lsl
r2 @ encoding
: [0x18,0x02,0x57,0xe1]
782 @ CHECK
: cmp sp
, r8, lsr
r2 @ encoding
: [0x38,0x02,0x5d,0xe1]
783 @ CHECK
: cmp r7, r8, asr
r2 @ encoding
: [0x58,0x02,0x57,0xe1]
784 @ CHECK
: cmp r7, r8, ror
r2 @ encoding
: [0x78,0x02,0x57,0xe1]
785 @ CHECK
: cmp r1, r6, rrx @ encoding
: [0x66,0x00,0x51,0xe1]
786 @ CHECK
: cmn
r0, #2 @ encoding: [0x02,0x00,0x70,0xe3]
787 @ CHECK
: cmp lr, #0 @ encoding: [0x00,0x00,0x5e,0xe3]
790 @
------------------------------------------------------------------------------
792 @
------------------------------------------------------------------------------
798 @ CHECK
: cpsie aif @ encoding
: [0xc0,0x01,0x08,0xf1]
799 @ CHECK
: cpsie aif @ encoding
: [0xc0,0x01,0x08,0xf1]
800 @ CHECK
: cps
#15 @ encoding: [0x0f,0x00,0x02,0xf1]
801 @ CHECK
: cpsid if
, #10 @ encoding: [0xca,0x00,0x0e,0xf1]
804 @
------------------------------------------------------------------------------
806 @
------------------------------------------------------------------------------
811 @ CHECK
: dbg
#0 @ encoding: [0xf0,0xf0,0x20,0xe3]
812 @ CHECK
: dbg
#5 @ encoding: [0xf5,0xf0,0x20,0xe3]
813 @ CHECK
: dbg
#15 @ encoding: [0xff,0xf0,0x20,0xe3]
816 @
------------------------------------------------------------------------------
818 @
------------------------------------------------------------------------------
850 @ CHECK
: dmb sy @ encoding
: [0x5f,0xf0,0x7f,0xf5]
851 @ CHECK
: dmb
st @ encoding
: [0x5e,0xf0,0x7f,0xf5]
852 @ CHECK
: dmb
#0xd @ encoding: [0x5d,0xf0,0x7f,0xf5]
853 @ CHECK
: dmb
#0xc @ encoding: [0x5c,0xf0,0x7f,0xf5]
854 @ CHECK
: dmb ish @ encoding
: [0x5b,0xf0,0x7f,0xf5]
855 @ CHECK
: dmb ishst @ encoding
: [0x5a,0xf0,0x7f,0xf5]
856 @ CHECK
: dmb
#0x9 @ encoding: [0x59,0xf0,0x7f,0xf5]
857 @ CHECK
: dmb
#0x8 @ encoding: [0x58,0xf0,0x7f,0xf5]
858 @ CHECK
: dmb nsh @ encoding
: [0x57,0xf0,0x7f,0xf5]
859 @ CHECK
: dmb nshst @ encoding
: [0x56,0xf0,0x7f,0xf5]
860 @ CHECK
: dmb
#0x5 @ encoding: [0x55,0xf0,0x7f,0xf5]
861 @ CHECK
: dmb
#0x4 @ encoding: [0x54,0xf0,0x7f,0xf5]
862 @ CHECK
: dmb osh @ encoding
: [0x53,0xf0,0x7f,0xf5]
863 @ CHECK
: dmb oshst @ encoding
: [0x52,0xf0,0x7f,0xf5]
864 @ CHECK
: dmb
#0x1 @ encoding: [0x51,0xf0,0x7f,0xf5]
865 @ CHECK
: dmb
#0x0 @ encoding: [0x50,0xf0,0x7f,0xf5]
867 @ CHECK
: dmb sy @ encoding
: [0x5f,0xf0,0x7f,0xf5]
868 @ CHECK
: dmb
st @ encoding
: [0x5e,0xf0,0x7f,0xf5]
869 @ CHECK
: dmb ish @ encoding
: [0x5b,0xf0,0x7f,0xf5]
870 @ CHECK
: dmb ish @ encoding
: [0x5b,0xf0,0x7f,0xf5]
871 @ CHECK
: dmb ishst @ encoding
: [0x5a,0xf0,0x7f,0xf5]
872 @ CHECK
: dmb ishst @ encoding
: [0x5a,0xf0,0x7f,0xf5]
873 @ CHECK
: dmb nsh @ encoding
: [0x57,0xf0,0x7f,0xf5]
874 @ CHECK
: dmb nsh @ encoding
: [0x57,0xf0,0x7f,0xf5]
875 @ CHECK
: dmb nshst @ encoding
: [0x56,0xf0,0x7f,0xf5]
876 @ CHECK
: dmb nshst @ encoding
: [0x56,0xf0,0x7f,0xf5]
877 @ CHECK
: dmb osh @ encoding
: [0x53,0xf0,0x7f,0xf5]
878 @ CHECK
: dmb oshst @ encoding
: [0x52,0xf0,0x7f,0xf5]
879 @ CHECK
: dmb sy @ encoding
: [0x5f,0xf0,0x7f,0xf5]
881 @
------------------------------------------------------------------------------
883 @
------------------------------------------------------------------------------
918 @ CHECK
: dsb sy @ encoding
: [0x4f,0xf0,0x7f,0xf5]
919 @ CHECK
: dsb
st @ encoding
: [0x4e,0xf0,0x7f,0xf5]
920 @ CHECK
: dsb
#0xd @ encoding: [0x4d,0xf0,0x7f,0xf5]
921 @ CHECK
: dsb
#0xc @ encoding: [0x4c,0xf0,0x7f,0xf5]
922 @ CHECK
: dsb ish @ encoding
: [0x4b,0xf0,0x7f,0xf5]
923 @ CHECK
: dsb ishst @ encoding
: [0x4a,0xf0,0x7f,0xf5]
924 @ CHECK
: dsb
#0x9 @ encoding: [0x49,0xf0,0x7f,0xf5]
925 @ CHECK
: dsb
#0x8 @ encoding: [0x48,0xf0,0x7f,0xf5]
926 @ CHECK
: dsb nsh @ encoding
: [0x47,0xf0,0x7f,0xf5]
927 @ CHECK
: dsb nshst @ encoding
: [0x46,0xf0,0x7f,0xf5]
928 @ CHECK
: dsb
#0x5 @ encoding: [0x45,0xf0,0x7f,0xf5]
929 @ CHECK
: pssbb @ encoding
: [0x44,0xf0,0x7f,0xf5]
930 @ CHECK
: dsb osh @ encoding
: [0x43,0xf0,0x7f,0xf5]
931 @ CHECK
: dsb oshst @ encoding
: [0x42,0xf0,0x7f,0xf5]
932 @ CHECK
: dsb
#0x1 @ encoding: [0x41,0xf0,0x7f,0xf5]
933 @ CHECK
: ssbb @ encoding
: [0x40,0xf0,0x7f,0xf5]
935 @ CHECK
: dsb
#0x8 @ encoding: [0x48,0xf0,0x7f,0xf5]
936 @ CHECK
: dsb nsh @ encoding
: [0x47,0xf0,0x7f,0xf5]
938 @ CHECK
: dsb sy @ encoding
: [0x4f,0xf0,0x7f,0xf5]
939 @ CHECK
: dsb
st @ encoding
: [0x4e,0xf0,0x7f,0xf5]
940 @ CHECK
: dsb ish @ encoding
: [0x4b,0xf0,0x7f,0xf5]
941 @ CHECK
: dsb ish @ encoding
: [0x4b,0xf0,0x7f,0xf5]
942 @ CHECK
: dsb ishst @ encoding
: [0x4a,0xf0,0x7f,0xf5]
943 @ CHECK
: dsb ishst @ encoding
: [0x4a,0xf0,0x7f,0xf5]
944 @ CHECK
: dsb nsh @ encoding
: [0x47,0xf0,0x7f,0xf5]
945 @ CHECK
: dsb nsh @ encoding
: [0x47,0xf0,0x7f,0xf5]
946 @ CHECK
: dsb nshst @ encoding
: [0x46,0xf0,0x7f,0xf5]
947 @ CHECK
: dsb nshst @ encoding
: [0x46,0xf0,0x7f,0xf5]
948 @ CHECK
: dsb osh @ encoding
: [0x43,0xf0,0x7f,0xf5]
949 @ CHECK
: dsb oshst @ encoding
: [0x42,0xf0,0x7f,0xf5]
950 @ CHECK
: dsb sy @ encoding
: [0x4f,0xf0,0x7f,0xf5]
956 @ CHECK
: dsb sy @ encoding
: [0x4f,0xf0,0x7f,0xf5]
957 @ CHECK
: dsb oshst @ encoding
: [0x42,0xf0,0x7f,0xf5]
958 @
------------------------------------------------------------------------------
960 @
------------------------------------------------------------------------------
964 eor
r7, r8, #(0xff << 16)
965 eor
r7, r8, #-2147483638
970 eor
r7, r8, (20 * 2), (1 << 1)
972 eor
r4, r5, r6, lsl
#5
973 eor
r4, r5, r6, lsr
#5
974 eor
r4, r5, r6, lsr
#5
975 eor
r4, r5, r6, asr
#5
976 eor
r4, r5, r6, ror
#5
977 eor
r6, r7, r8, lsl
r9
978 eor
r6, r7, r8, lsr
r9
979 eor
r6, r7, r8, asr
r9
980 eor
r6, r7, r8, ror
r9
983 @ destination register is optional
987 eor
r7, #(0xff << 16)
993 eor
r7, (20 * 2), (1 << 1)
1006 @ CHECK
: eor
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2]
1007 @ CHECK
: eor
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2]
1008 @ CHECK
: eor
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x25,0xe2]
1009 @ CHECK
: eor
r7, r8, #16711680 @ encoding: [0xff,0x78,0x28,0xe2]
1010 @ CHECK
: eor
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x28,0xe2]
1011 @ CHECK
: eor
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x28,0xe2]
1012 @ CHECK
: eor
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2]
1013 @ CHECK
: eor
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2]
1014 @ CHECK
: eor
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2]
1015 @ CHECK
: eor
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x28,0xe2]
1016 @ CHECK
: eor
r4, r5, r6 @ encoding
: [0x06,0x40,0x25,0xe0]
1017 @ CHECK
: eor
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x25,0xe0]
1018 @ CHECK
: eor
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x25,0xe0]
1019 @ CHECK
: eor
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x25,0xe0]
1020 @ CHECK
: eor
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x25,0xe0]
1021 @ CHECK
: eor
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x25,0xe0]
1022 @ CHECK
: eor
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x27,0xe0]
1023 @ CHECK
: eor
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x27,0xe0]
1024 @ CHECK
: eor
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x27,0xe0]
1025 @ CHECK
: eor
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x27,0xe0]
1026 @ CHECK
: eor
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x25,0xe0]
1029 @ CHECK
: eor
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2]
1030 @ CHECK
: eor
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2]
1031 @ CHECK
: eor
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x25,0xe2]
1032 @ CHECK
: eor
r7, r7, #16711680 @ encoding: [0xff,0x78,0x27,0xe2]
1033 @ CHECK
: eor
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x27,0xe2]
1034 @ CHECK
: eor
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x27,0xe2]
1035 @ CHECK
: eor
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2]
1036 @ CHECK
: eor
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2]
1037 @ CHECK
: eor
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2]
1038 @ CHECK
: eor
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x27,0xe2]
1039 @ CHECK
: eor
r4, r4, r5 @ encoding
: [0x05,0x40,0x24,0xe0]
1040 @ CHECK
: eor
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x24,0xe0]
1041 @ CHECK
: eor
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x24,0xe0]
1042 @ CHECK
: eor
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x24,0xe0]
1043 @ CHECK
: eor
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x24,0xe0]
1044 @ CHECK
: eor
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x24,0xe0]
1045 @ CHECK
: eor
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x26,0xe0]
1046 @ CHECK
: eor
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x26,0xe0]
1047 @ CHECK
: eor
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x26,0xe0]
1048 @ CHECK
: eor
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x26,0xe0]
1049 @ CHECK
: eor
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x24,0xe0]
1051 @ Test right shift by
32, which is encoded as
0
1052 eor
r3, r1, r2, lsr
#32
1053 eor
r3, r1, r2, asr
#32
1054 @ CHECK
: eor
r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x21,0xe0]
1055 @ CHECK
: eor
r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x21,0xe0]
1057 @
------------------------------------------------------------------------------
1059 @
------------------------------------------------------------------------------
1065 @ CHECK
: isb sy @ encoding
: [0x6f,0xf0,0x7f,0xf5]
1066 @ CHECK
: isb sy @ encoding
: [0x6f,0xf0,0x7f,0xf5]
1067 @ CHECK
: isb sy @ encoding
: [0x6f,0xf0,0x7f,0xf5]
1068 @ CHECK
: isb
#0x1 @ encoding: [0x61,0xf0,0x7f,0xf5]
1071 @
------------------------------------------------------------------------------
1073 @
------------------------------------------------------------------------------
1074 ldc2 p0
, c8
, [r1, #4]
1076 ldc2 p2
, c6
, [r3, #-224]
1077 ldc2 p3
, c5
, [r4, #-120]!
1078 ldc2 p4
, c4
, [r5], #16
1079 ldc2 p5
, c3
, [r6], #-72
1080 ldc2l p6
, c2
, [r7, #4]
1082 ldc2l p8
, c0
, [r9, #-224]
1083 ldc2l p9
, c1
, [r10, #-120]!
1084 ldc2l p0
, c2
, [r11], #16
1085 ldc2l p1
, c3
, [r12], #-72
1087 ldc p12
, c4
, [r0, #4]
1089 ldc p14
, c6
, [r2, #-224]
1090 ldc p15
, c7
, [r3, #-120]!
1091 ldc p5
, c8
, [r4], #16
1092 ldc p4
, c9
, [r5], #-72
1093 ldcl p3
, c10
, [r6, #4]
1095 ldcl p1
, c12
, [r8, #-224]
1096 ldcl p0
, c13
, [r9, #-120]!
1097 ldcl p6
, c14
, [r10], #16
1098 ldcl p7
, c15
, [r11], #-72
1100 ldclo p12
, c4
, [r0, #4]
1102 ldccs p14
, c6
, [r2, #-224]
1103 ldccc p15
, c7
, [r3, #-120]!
1104 ldceq p5
, c8
, [r4], #16
1105 ldcgt p4
, c9
, [r5], #-72
1106 ldcllt p3
, c10
, [r6, #4]
1107 ldclge p2
, c11
, [r7]
1108 ldclle p1
, c12
, [r8, #-224]
1109 ldclne p0
, c13
, [r9, #-120]!
1110 ldcleq p6
, c14
, [r10], #16
1111 ldclhi p7
, c15
, [r11], #-72
1113 ldc2 p2
, c8
, [r1], { 25 }
1115 @ CHECK
: ldc2 p0
, c8
, [r1, #4] @ encoding: [0x01,0x80,0x91,0xfd]
1116 @ CHECK
: ldc2 p1
, c7
, [r2] @ encoding
: [0x00,0x71,0x92,0xfd]
1117 @ CHECK
: ldc2 p2
, c6
, [r3, #-224] @ encoding: [0x38,0x62,0x13,0xfd]
1118 @ CHECK
: ldc2 p3
, c5
, [r4, #-120]! @ encoding: [0x1e,0x53,0x34,0xfd]
1119 @ CHECK
: ldc2 p4
, c4
, [r5], #16 @ encoding: [0x04,0x44,0xb5,0xfc]
1120 @ CHECK
: ldc2 p5
, c3
, [r6], #-72 @ encoding: [0x12,0x35,0x36,0xfc]
1121 @ CHECK
: ldc2l p6
, c2
, [r7, #4] @ encoding: [0x01,0x26,0xd7,0xfd]
1122 @ CHECK
: ldc2l p7
, c1
, [r8] @ encoding
: [0x00,0x17,0xd8,0xfd]
1123 @ CHECK
: ldc2l p8
, c0
, [r9, #-224] @ encoding: [0x38,0x08,0x59,0xfd]
1124 @ CHECK
: ldc2l p9
, c1
, [r10, #-120]! @ encoding: [0x1e,0x19,0x7a,0xfd]
1125 @ CHECK
: ldc2l p0
, c2
, [r11], #16 @ encoding: [0x04,0x20,0xfb,0xfc]
1126 @ CHECK
: ldc2l p1
, c3
, [r12], #-72 @ encoding: [0x12,0x31,0x7c,0xfc]
1128 @ CHECK
: ldc p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x90,0xed]
1129 @ CHECK
: ldc p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x91,0xed]
1130 @ CHECK
: ldc p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x12,0xed]
1131 @ CHECK
: ldc p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x33,0xed]
1132 @ CHECK
: ldc p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xb4,0xec]
1133 @ CHECK
: ldc p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x35,0xec]
1134 @ CHECK
: ldcl p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xd6,0xed]
1135 @ CHECK
: ldcl p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xd7,0xed]
1136 @ CHECK
: ldcl p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x58,0xed]
1137 @ CHECK
: ldcl p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x79,0xed]
1138 @ CHECK
: ldcl p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xfa,0xec]
1139 @ CHECK
: ldcl p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x7b,0xec]
1141 @ CHECK
: ldclo p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x90,0x3d]
1142 @ CHECK
: ldchi p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x91,0x8d]
1143 @ CHECK
: ldchs p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x12,0x2d]
1144 @ CHECK
: ldclo p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x33,0x3d]
1145 @ CHECK
: ldceq p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xb4,0x0c]
1146 @ CHECK
: ldcgt p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x35,0xcc]
1147 @ CHECK
: ldcllt p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xd6,0xbd]
1148 @ CHECK
: ldclge p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xd7,0xad]
1149 @ CHECK
: ldclle p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x58,0xdd]
1150 @ CHECK
: ldclne p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x79,0x1d]
1151 @ CHECK
: ldcleq p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xfa,0x0c]
1152 @ CHECK
: ldclhi p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x7b,0x8c]
1154 @ CHECK
: ldc2 p2
, c8
, [r1], {25} @ encoding
: [0x19,0x82,0x91,0xfc]
1157 @
------------------------------------------------------------------------------
1159 @
------------------------------------------------------------------------------
1160 ldm
r2, {r1,r3-
r6,sp
}
1161 ldmia
r2, {r1,r3-
r6,sp
}
1162 ldmib
r2, {r1,r3-
r6,sp
}
1163 ldmda
r2, {r1,r3-
r6,sp
}
1164 ldmdb
r2, {r1,r3-
r6,sp
}
1165 ldmfd
r2, {r1,r3-
r6,sp
}
1168 ldm
r2!, {r1,r3-
r6,sp
}
1169 ldmib
r2!, {r1,r3-
r6,sp
}
1170 ldmda
r2!, {r1,r3-
r6,sp
}
1171 ldmdb
r2!, {r1,r3-
r6,sp
}
1174 ldm
r0, {r0, r2, lr}^
1175 ldm sp
!, {r0-
r3, pc
}^
1177 @ CHECK
: ldm
r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x92,0xe8]
1178 @ CHECK
: ldm
r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x92,0xe8]
1179 @ CHECK
: ldmib
r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x92,0xe9]
1180 @ CHECK
: ldmda
r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x12,0xe8]
1181 @ CHECK
: ldmdb
r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x12,0xe9]
1182 @ CHECK
: ldm
r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x92,0xe8]
1184 @ CHECK
: ldm
r2!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xb2,0xe8]
1185 @ CHECK
: ldmib
r2!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xb2,0xe9]
1186 @ CHECK
: ldmda
r2!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x32,0xe8]
1187 @ CHECK
: ldmdb
r2!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x32,0xe9]
1188 @ CHECK
: ldm
r0, {r0, r2, lr} ^ @ encoding
: [0x05,0x40,0xd0,0xe8]
1189 @ CHECK
: ldm sp
!, {r0, r1, r2, r3, pc
} ^ @ encoding
: [0x0f,0x80,0xfd,0xe8]
1192 @
------------------------------------------------------------------------------
1193 @ LDREX
/LDREXB
/LDREXH
/LDREXD
1194 @
------------------------------------------------------------------------------
1200 @ CHECK
: ldrexb
r3, [r4] @ encoding
: [0x9f,0x3f,0xd4,0xe1]
1201 @ CHECK
: ldrexh
r2, [r5] @ encoding
: [0x9f,0x2f,0xf5,0xe1]
1202 @ CHECK
: ldrex
r1, [r7] @ encoding
: [0x9f,0x1f,0x97,0xe1]
1203 @ CHECK
: ldrexd
r6, r7, [r8] @ encoding
: [0x9f,0x6f,0xb8,0xe1]
1207 @ CHECK
: ldrexd
r6, r7, [r8] @ encoding
: [0x9f,0x6f,0xb8,0xe1]
1209 @
------------------------------------------------------------------------------
1211 @
------------------------------------------------------------------------------
1212 ldrhthi
r8, [r11], #-0
1213 ldrhthi
r8, [r11], #0
1215 @ CHECK
: ldrhthi
r8, [r11], #-0 @ encoding: [0xb0,0x80,0x7b,0x80]
1216 @ CHECK
: ldrhthi
r8, [r11], #0 @ encoding: [0xb0,0x80,0xfb,0x80]
1218 @
------------------------------------------------------------------------------
1220 @
------------------------------------------------------------------------------
1226 @ CHECK
: lsl
r2, r4, #31 @ encoding: [0x84,0x2f,0xa0,0xe1]
1227 @ CHECK
: lsl
r2, r4, #1 @ encoding: [0x84,0x20,0xa0,0xe1]
1228 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1229 @ CHECK
: lsl
r4, r4, #1 @ encoding: [0x84,0x40,0xa0,0xe1]
1232 @
------------------------------------------------------------------------------
1234 @
------------------------------------------------------------------------------
1240 @ CHECK
: lsr
r2, r4, #32 @ encoding: [0x24,0x20,0xa0,0xe1]
1241 @ CHECK
: lsr
r2, r4, #2 @ encoding: [0x24,0x21,0xa0,0xe1]
1242 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1243 @ CHECK
: lsr
r4, r4, #2 @ encoding: [0x24,0x41,0xa0,0xe1]
1246 @
------------------------------------------------------------------------------
1248 @
------------------------------------------------------------------------------
1249 mcr p7
, #1, r5, c1, c1, #4
1250 mcr2 p7
, #1, r5, c1, c1, #4
1251 MCR P7
, #1, R5, C1, C1, #4
1252 MCR2 P7
, #1, R5, C1, C1, #4
1254 @ CHECK
: mcr p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee]
1255 @ CHECK
: mcr2 p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe]
1256 @ CHECK
: mcr p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee]
1257 @ CHECK
: mcr2 p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe]
1259 mcrls p7
, #1, r5, c1, c1, #4
1260 MCRLS P7
, #1, R5, C1, C1, #4
1261 @ CHECK
: mcrls p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0x9e]
1262 @ CHECK
: mcrls p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0x9e]
1264 @
------------------------------------------------------------------------------
1266 @
------------------------------------------------------------------------------
1267 mcrr p7
, #15, r5, r4, c1
1268 mcrr2 p7
, #15, r5, r4, c1
1269 MCRR P7
, #15, R5, R4, C1
1270 MCRR2 P7
, #15, R5, R4, C1
1272 @ CHECK
: mcrr p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec]
1273 @ CHECK
: mcrr2 p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc]
1274 @ CHECK
: mcrr p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec]
1275 @ CHECK
: mcrr2 p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc]
1277 mcrrgt p7
, #15, r5, r4, c1
1278 MCRRGT P7
, #15, R5, R4, C1
1279 @ CHECK
: mcrrgt p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xcc]
1280 @ CHECK
: mcrrgt p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xcc]
1282 @
------------------------------------------------------------------------------
1284 @
------------------------------------------------------------------------------
1290 @ CHECK
: mla
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x21,0xe0]
1291 @ CHECK
: mlas
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x31,0xe0]
1292 @ CHECK
: mlane
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x21,0x10]
1293 @ CHECK
: mlasne
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x31,0x10]
1295 @
------------------------------------------------------------------------------
1297 @
------------------------------------------------------------------------------
1301 @ CHECK
: mls
r2, r5, r6, r3 @ encoding
: [0x95,0x36,0x62,0xe0]
1302 @ CHECK
: mlsne
r2, r5, r6, r3 @ encoding
: [0x95,0x36,0x62,0x10]
1304 @
------------------------------------------------------------------------------
1306 @
------------------------------------------------------------------------------
1315 mov
r7, #(0xff << 16)
1316 mov
r7, #-2147483638
1323 mov
r7, (2 * 20), (1 << 1)
1329 movseq
r5, #0xff0000
1331 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1332 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1333 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1334 @ CHECK
: mvn
r3, #6 @ encoding: [0x06,0x30,0xe0,0xe3]
1335 @ CHECK
: mov
r4, #4080 @ encoding: [0xff,0x4e,0xa0,0xe3]
1336 @ CHECK
: mov
r5, #16711680 @ encoding: [0xff,0x58,0xa0,0xe3]
1337 @ CHECK
: mov
r7, #42 @ encoding: [0x2a,0x70,0xa0,0xe3]
1338 @ CHECK
: mov
r7, #176160768 @ encoding: [0x2a,0x75,0xa0,0xe3]
1339 @ CHECK
: mov
r7, #16711680 @ encoding: [0xff,0x78,0xa0,0xe3]
1340 @ CHECK
: mov
r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3]
1341 @ CHECK
: mov
r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3]
1342 @ CHECK
: mov pc
, #2147483658 @ encoding: [0x2a,0xf1,0xa0,0xe3]
1343 @ CHECK
: mov
r7, #0, #2 @ encoding: [0x00,0x71,0xa0,0xe3]
1344 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1345 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1346 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1347 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1348 @ CHECK
: mov
r7, #42, #30 @ encoding: [0x2a,0x7f,0xa0,0xe3]
1349 @ CHECK
: movw
r6, #65535 @ encoding: [0xff,0x6f,0x0f,0xe3]
1350 @ CHECK
: movw
r9, #65535 @ encoding: [0xff,0x9f,0x0f,0xe3]
1351 @ CHECK
: movs
r3, #7 @ encoding: [0x07,0x30,0xb0,0xe3]
1352 @ CHECK
: moveq
r4, #4080 @ encoding: [0xff,0x4e,0xa0,0x03]
1353 @ CHECK
: movseq
r5, #16711680 @ encoding: [0xff,0x58,0xb0,0x03]
1355 @
------------------------------------------------------------------------------
1357 @
------------------------------------------------------------------------------
1362 mov
r12, r8, lsl
#(2 - 2)
1363 lsl
r2, r3, #(2 - 2)
1364 mov
r12, r8, lsr
#(2 - 2)
1365 lsr
r2, r3, #(2 - 2)
1366 mov
r12, r8, asr
#(2 - 2)
1367 asr
r2, r3, #(2 - 2)
1368 mov
r12, r8, ror
#(2 - 2)
1369 ror
r2, r3, #(2 - 2)
1371 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1372 @ CHECK
: movs
r2, r3 @ encoding
: [0x03,0x20,0xb0,0xe1]
1373 @ CHECK
: moveq
r2, r3 @ encoding
: [0x03,0x20,0xa0,0x01]
1374 @ CHECK
: movseq
r2, r3 @ encoding
: [0x03,0x20,0xb0,0x01]
1375 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1376 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1377 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1378 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1379 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1380 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1381 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1382 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1385 @
------------------------------------------------------------------------------
1387 @
------------------------------------------------------------------------------
1392 @ CHECK
: movt
r3, #7 @ encoding: [0x07,0x30,0x40,0xe3]
1393 @ CHECK
: movt
r6, #65535 @ encoding: [0xff,0x6f,0x4f,0xe3]
1394 @ CHECK
: movteq
r4, #4080 @ encoding: [0xf0,0x4f,0x40,0x03]
1397 @
------------------------------------------------------------------------------
1399 @
------------------------------------------------------------------------------
1400 mrc p14
, #0, r1, c1, c2, #4
1401 mrc p15
, #7, apsr_nzcv, c15, c6, #6
1402 mrc2 p14
, #0, r1, c1, c2, #4
1403 mrc2 p9
, #7, apsr_nzcv, c15, c0, #1
1404 MRC P14
, #0, R1, C1, C2, #4
1405 MRC P15
, #7, APSR_NZCV, C15, C6, #6
1406 MRC2 P14
, #0, R1, C1, C2, #4
1407 MRC2 P9
, #7, APSR_NZCV, C15, C0, #1
1409 @ CHECK
: mrc p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee]
1410 @ CHECK
: mrc p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0xee]
1411 @ CHECK
: mrc2 p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe]
1412 @ CHECK
: mrc2 p9
, #7, apsr_nzcv, c15, c0, #1 @ encoding: [0x30,0xf9,0xff,0xfe]
1413 @ CHECK
: mrc p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee]
1414 @ CHECK
: mrc p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0xee]
1415 @ CHECK
: mrc2 p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe]
1416 @ CHECK
: mrc2 p9
, #7, apsr_nzcv, c15, c0, #1 @ encoding: [0x30,0xf9,0xff,0xfe]
1418 mrceq p15
, #7, apsr_nzcv, c15, c6, #6
1419 MRCEQ P15
, #7, APSR_NZCV, C15, C6, #6
1420 @ CHECK
: mrceq p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0x0e]
1421 @ CHECK
: mrceq p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0x0e]
1423 @
------------------------------------------------------------------------------
1425 @
------------------------------------------------------------------------------
1426 mrrc p7
, #1, r5, r4, c1
1427 mrrc2 p7
, #1, r5, r4, c1
1428 MRRC P7
, #1, R5, R4, C1
1429 MRRC2 P7
, #1, R5, R4, C1
1431 @ CHECK
: mrrc p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec]
1432 @ CHECK
: mrrc2 p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc]
1433 @ CHECK
: mrrc p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec]
1434 @ CHECK
: mrrc2 p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc]
1436 mrrclo p7
, #1, r5, r4, c1
1437 MRRCLO P7
, #1, R5, R4, C1
1438 @ CHECK
: mrrclo p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0x3c]
1439 @ CHECK
: mrrclo p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0x3c]
1441 @
------------------------------------------------------------------------------
1443 @
------------------------------------------------------------------------------
1447 @ CHECK
: mrs
r8, apsr @ encoding
: [0x00,0x80,0x0f,0xe1]
1448 @ CHECK
: mrs
r8, apsr @ encoding
: [0x00,0x80,0x0f,0xe1]
1449 @ CHECK
: mrs
r8, spsr @ encoding
: [0x00,0x80,0x4f,0xe1]
1453 @
------------------------------------------------------------------------------
1455 @
------------------------------------------------------------------------------
1473 msr apsr_nzcvqg
, #(0xff << 16)
1474 msr APSR_nzcvq
, #42, #2
1475 msr apsr_nzcvqg
, #2147483658
1476 msr SPSR_fsxc
, #40, #2
1477 msr SPSR_fsxc
, $
40, $
2
1478 msr SPSR_fsxc
, 40, 2
1479 msr SPSR_fsxc
, (2 * 20), (1 << 1)
1481 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1482 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1483 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1484 @ CHECK
: msr APSR_g
, #5 @ encoding: [0x05,0xf0,0x24,0xe3]
1485 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1486 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1487 @ CHECK
: msr APSR_nzcvqg
, #5 @ encoding: [0x05,0xf0,0x2c,0xe3]
1488 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1489 @ CHECK
: msr CPSR_c
, #5 @ encoding: [0x05,0xf0,0x21,0xe3]
1490 @ CHECK
: msr CPSR_x
, #5 @ encoding: [0x05,0xf0,0x22,0xe3]
1491 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1492 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1493 @ CHECK
: msr CPSR_fsx
, #5 @ encoding: [0x05,0xf0,0x2e,0xe3]
1494 @ CHECK
: msr SPSR_fc
, #5 @ encoding: [0x05,0xf0,0x69,0xe3]
1495 @ CHECK
: msr SPSR_fsxc
, #5 @ encoding: [0x05,0xf0,0x6f,0xe3]
1496 @ CHECK
: msr CPSR_fsxc
, #5 @ encoding: [0x05,0xf0,0x2f,0xe3]
1497 @ CHECK
: msr APSR_nzcvqg
, #16711680 @ encoding: [0xff,0xf8,0x2c,0xe3]
1498 @ CHECK
: msr APSR_nzcvq
, #2147483658 @ encoding: [0x2a,0xf1,0x28,0xe3]
1499 @ CHECK
: msr APSR_nzcvqg
, #2147483658 @ encoding: [0x2a,0xf1,0x2c,0xe3]
1500 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1501 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1502 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1503 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1520 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1521 @ CHECK
: msr APSR_g
, r0 @ encoding
: [0x00,0xf0,0x24,0xe1]
1522 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1523 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1524 @ CHECK
: msr APSR_nzcvqg
, r0 @ encoding
: [0x00,0xf0,0x2c,0xe1]
1525 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1526 @ CHECK
: msr CPSR_c
, r0 @ encoding
: [0x00,0xf0,0x21,0xe1]
1527 @ CHECK
: msr CPSR_x
, r0 @ encoding
: [0x00,0xf0,0x22,0xe1]
1528 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1529 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1530 @ CHECK
: msr CPSR_fsx
, r0 @ encoding
: [0x00,0xf0,0x2e,0xe1]
1531 @ CHECK
: msr SPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x69,0xe1]
1532 @ CHECK
: msr SPSR_fsxc
, r0 @ encoding
: [0x00,0xf0,0x6f,0xe1]
1533 @ CHECK
: msr CPSR_fsxc
, r0 @ encoding
: [0x00,0xf0,0x2f,0xe1]
1535 @
------------------------------------------------------------------------------
1537 @
------------------------------------------------------------------------------
1544 @ CHECK
: mul r5, r6, r7 @ encoding
: [0x96,0x07,0x05,0xe0]
1545 @ CHECK
: muls r5, r6, r7 @ encoding
: [0x96,0x07,0x15,0xe0]
1546 @ CHECK
: mulgt
r5, r6, r7 @ encoding
: [0x96,0x07,0x05,0xc0]
1547 @ CHECK
: mulsle
r5, r6, r7 @ encoding
: [0x96,0x07,0x15,0xd0]
1550 @
------------------------------------------------------------------------------
1552 @
------------------------------------------------------------------------------
1557 mvn
r7, #~0xffffff00
1560 mvn
r7, #(0xff << 16)
1561 mvn
r7, #-2147483638
1566 mvn
r7, (2 * 20), (1 << 1)
1569 mvnseq
r5, #0xff0000
1571 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1572 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1573 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1574 @ CHECK
: mov
r3, #6 @ encoding: [0x06,0x30,0xa0,0xe3]
1575 @ CHECK
: mvn
r7, #255 @ encoding: [0xff,0x70,0xe0,0xe3]
1576 @ CHECK
: mvn
r4, #4080 @ encoding: [0xff,0x4e,0xe0,0xe3]
1577 @ CHECK
: mvn
r5, #16711680 @ encoding: [0xff,0x58,0xe0,0xe3]
1578 @ CHECK
: mvn
r7, #16711680 @ encoding: [0xff,0x78,0xe0,0xe3]
1579 @ CHECK
: mvn
r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3]
1580 @ CHECK
: mvn
r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3]
1581 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1582 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1583 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1584 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1585 @ CHECK
: mvns
r3, #7 @ encoding: [0x07,0x30,0xf0,0xe3]
1586 @ CHECK
: mvneq
r4, #4080 @ encoding: [0xff,0x4e,0xe0,0x03]
1587 @ CHECK
: mvnseq
r5, #16711680 @ encoding: [0xff,0x58,0xf0,0x03]
1590 @
------------------------------------------------------------------------------
1592 @
------------------------------------------------------------------------------
1601 mvnseq
r2, r3, lsl
#10
1603 @ CHECK
: mvn
r2, r3 @ encoding
: [0x03,0x20,0xe0,0xe1]
1604 @ CHECK
: mvns
r2, r3 @ encoding
: [0x03,0x20,0xf0,0xe1]
1605 @ CHECK
: mvn
r5, r6, lsl
#19 @ encoding: [0x86,0x59,0xe0,0xe1]
1606 @ CHECK
: mvn
r5, r6, lsr
#9 @ encoding: [0xa6,0x54,0xe0,0xe1]
1607 @ CHECK
: mvn
r5, r6, asr
#4 @ encoding: [0x46,0x52,0xe0,0xe1]
1608 @ CHECK
: mvn
r5, r6, ror
#6 @ encoding: [0x66,0x53,0xe0,0xe1]
1609 @ CHECK
: mvn
r5, r6, rrx @ encoding
: [0x66,0x50,0xe0,0xe1]
1610 @ CHECK
: mvneq
r2, r3 @ encoding
: [0x03,0x20,0xe0,0x01]
1611 @ CHECK
: mvnseq
r2, r3, lsl
#10 @ encoding: [0x03,0x25,0xf0,0x01]
1614 @
------------------------------------------------------------------------------
1615 @ MVN
(shifted register
)
1616 @
------------------------------------------------------------------------------
1619 mvngt
r5, r6, asr
r7
1620 mvnslt
r5, r6, ror
r7
1622 @ CHECK
: mvn
r5, r6, lsl
r7 @ encoding
: [0x16,0x57,0xe0,0xe1]
1623 @ CHECK
: mvns
r5, r6, lsr
r7 @ encoding
: [0x36,0x57,0xf0,0xe1]
1624 @ CHECK
: mvngt
r5, r6, asr
r7 @ encoding
: [0x56,0x57,0xe0,0xc1]
1625 @ CHECK
: mvnslt
r5, r6, ror
r7 @ encoding
: [0x76,0x57,0xf0,0xb1]
1627 @
------------------------------------------------------------------------------
1629 @
------------------------------------------------------------------------------
1632 @ CHECK
: rsb
r5, r8, #0 @ encoding: [0x00,0x50,0x68,0xe2]
1635 @
------------------------------------------------------------------------------
1637 @
------------------------------------------------------------------------------
1642 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
1643 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
1644 @ CHECK
: nopgt @ encoding
: [0x00,0xf0,0x20,0xc3]
1647 @
------------------------------------------------------------------------------
1649 @
------------------------------------------------------------------------------
1653 orr
r7, r8, #(0xff << 16)
1654 orr
r7, r8, #-2147483638
1659 orr
r7, r8, (2 * 20), (1 << 1)
1661 orr
r4, r5, r6, lsl
#5
1662 orr
r4, r5, r6, lsr
#5
1663 orr
r4, r5, r6, lsr
#5
1664 orr
r4, r5, r6, asr
#5
1665 orr
r4, r5, r6, ror
#5
1666 orr
r6, r7, r8, lsl
r9
1667 orr
r6, r7, r8, lsr
r9
1668 orr
r6, r7, r8, asr
r9
1669 orr
r6, r7, r8, ror
r9
1672 @ destination register is optional
1677 orr
r7, #(0xff << 16)
1678 orr
r7, #-2147483638
1683 orr
r7, (2 * 20), (1 << 1)
1697 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1698 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1699 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1700 @ CHECK
: orr
r7, r8, #16711680 @ encoding: [0xff,0x78,0x88,0xe3]
1701 @ CHECK
: orr
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3]
1702 @ CHECK
: orr
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3]
1703 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1704 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1705 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1706 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1707 @ CHECK
: orr
r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0xe1]
1708 @ CHECK
: orr
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x85,0xe1]
1709 @ CHECK
: orr
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe1]
1710 @ CHECK
: orr
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe1]
1711 @ CHECK
: orr
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x85,0xe1]
1712 @ CHECK
: orr
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x85,0xe1]
1713 @ CHECK
: orr
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x87,0xe1]
1714 @ CHECK
: orr
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x87,0xe1]
1715 @ CHECK
: orr
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x87,0xe1]
1716 @ CHECK
: orr
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0xe1]
1717 @ CHECK
: orr
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x85,0xe1]
1719 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1720 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1721 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1722 @ CHECK
: orr
r7, r7, #16711680 @ encoding: [0xff,0x78,0x87,0xe3]
1723 @ CHECK
: orr
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3]
1724 @ CHECK
: orr
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3]
1725 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1726 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1727 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1728 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1729 @ CHECK
: orr
r4, r4, r5 @ encoding
: [0x05,0x40,0x84,0xe1]
1730 @ CHECK
: orr
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x84,0xe1]
1731 @ CHECK
: orr
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe1]
1732 @ CHECK
: orr
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe1]
1733 @ CHECK
: orr
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x84,0xe1]
1734 @ CHECK
: orr
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x84,0xe1]
1735 @ CHECK
: orr
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x86,0xe1]
1736 @ CHECK
: orr
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x86,0xe1]
1737 @ CHECK
: orr
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0xe1]
1738 @ CHECK
: orr
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x86,0xe1]
1739 @ CHECK
: orr
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x84,0xe1]
1741 orrseq
r4, r5, #0xf000
1743 orrseq
r4, r5, r6, lsl
#5
1744 orrlo
r6, r7, r8, ror
r9
1745 orrshi
r4, r5, r6, rrx
1748 orrne
r6, r7, asr
r9
1749 orrslt
r6, r7, ror
r9
1752 @ CHECK
: orrseq
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x95,0x03]
1753 @ CHECK
: orrne
r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0x11]
1754 @ CHECK
: orrseq
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x95,0x01]
1755 @ CHECK
: orrlo
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0x31]
1756 @ CHECK
: orrshi
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x95,0x81]
1757 @ CHECK
: orrhs
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0x23]
1758 @ CHECK
: orrseq
r4, r4, r5 @ encoding
: [0x05,0x40,0x94,0x01]
1759 @ CHECK
: orrne
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0x11]
1760 @ CHECK
: orrslt
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x96,0xb1]
1761 @ CHECK
: orrsgt
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x94,0xc1]
1763 @ Test right shift by
32, which is encoded as
0
1764 orr
r3, r1, r2, lsr
#32
1765 orr
r3, r1, r2, asr
#32
1766 @ CHECK
: orr
r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x81,0xe1]
1767 @ CHECK
: orr
r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x81,0xe1]
1769 @
------------------------------------------------------------------------------
1771 @
------------------------------------------------------------------------------
1773 pkhbt
r2, r2, r3, lsl
#31
1774 pkhbt
r2, r2, r3, lsl
#0
1775 pkhbt
r2, r2, r3, lsl
#15
1778 pkhtb
r2, r2, r3, asr
#31
1779 pkhtb
r2, r2, r3, asr
#15
1782 pkhtbne
r2, r2, r3, asr
#15
1784 @ CHECK
: pkhbt
r2, r2, r3 @ encoding
: [0x13,0x20,0x82,0xe6]
1785 @ CHECK
: pkhbt
r2, r2, r3, lsl
#31 @ encoding: [0x93,0x2f,0x82,0xe6]
1786 @ CHECK
: pkhbt
r2, r2, r3 @ encoding
: [0x13,0x20,0x82,0xe6]
1787 @ CHECK
: pkhbt
r2, r2, r3, lsl
#15 @ encoding: [0x93,0x27,0x82,0xe6]
1789 @ CHECK
: pkhbt
r2, r3, r2 @ encoding
: [0x12,0x20,0x83,0xe6]
1790 @ CHECK
: pkhtb
r2, r2, r3, asr
#31 @ encoding: [0xd3,0x2f,0x82,0xe6]
1791 @ CHECK
: pkhtb
r2, r2, r3, asr
#15 @ encoding: [0xd3,0x27,0x82,0xe6]
1792 @ CHECK
: pkhtbne
r2, r2, r3, asr
#15 @ encoding: [0xd3,0x27,0x82,0x16]
1794 @
------------------------------------------------------------------------------
1796 @
------------------------------------------------------------------------------
1797 @
------------------------------------------------------------------------------
1799 @
------------------------------------------------------------------------------
1802 @
------------------------------------------------------------------------------
1804 @
------------------------------------------------------------------------------
1806 pop
{r7, r8, r9, r10}
1808 @ CHECK
: pop
{r7} @ encoding
: [0x04,0x70,0x9d,0xe4]
1809 @ CHECK
: pop
{r7, r8, r9, r10} @ encoding
: [0x80,0x07,0xbd,0xe8]
1812 @
------------------------------------------------------------------------------
1814 @
------------------------------------------------------------------------------
1816 push
{r7, r8, r9, r10}
1818 @ CHECK
: push
{r7} @ encoding
: [0x04,0x70,0x2d,0xe5]
1819 @ CHECK
: push
{r7, r8, r9, r10} @ encoding
: [0x80,0x07,0x2d,0xe9]
1822 @
------------------------------------------------------------------------------
1824 @
------------------------------------------------------------------------------
1832 @ CHECK
: qadd
r1, r2, r3 @ encoding
: [0x52,0x10,0x03,0xe1]
1833 @ CHECK
: qaddne
r1, r2, r3 @ encoding
: [0x52,0x10,0x03,0x11]
1834 @ CHECK
: qadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x22,0xe6]
1835 @ CHECK
: qadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x22,0xc6]
1836 @ CHECK
: qadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x22,0xe6]
1837 @ CHECK
: qadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x22,0xd6]
1840 @
------------------------------------------------------------------------------
1842 @
------------------------------------------------------------------------------
1848 @ CHECK
: qdadd
r6, r7, r8 @ encoding
: [0x57,0x60,0x48,0xe1]
1849 @ CHECK
: qdaddhi
r6, r7, r8 @ encoding
: [0x57,0x60,0x48,0x81]
1850 @ CHECK
: qdsub
r6, r7, r8 @ encoding
: [0x57,0x60,0x68,0xe1]
1851 @ CHECK
: qdsubhi
r6, r7, r8 @ encoding
: [0x57,0x60,0x68,0x81]
1854 @
------------------------------------------------------------------------------
1856 @
------------------------------------------------------------------------------
1860 @ CHECK
: qsax
r9, r12, r0 @ encoding
: [0x50,0x9f,0x2c,0xe6]
1861 @ CHECK
: qsaxeq
r9, r12, r0 @ encoding
: [0x50,0x9f,0x2c,0x06]
1864 @
------------------------------------------------------------------------------
1866 @
------------------------------------------------------------------------------
1874 @ CHECK
: qsub
r1, r2, r3 @ encoding
: [0x52,0x10,0x23,0xe1]
1875 @ CHECK
: qsubne
r1, r2, r3 @ encoding
: [0x52,0x10,0x23,0x11]
1876 @ CHECK
: qsub16
r1, r2, r3 @ encoding
: [0x73,0x1f,0x22,0xe6]
1877 @ CHECK
: qsub16gt
r1, r2, r3 @ encoding
: [0x73,0x1f,0x22,0xc6]
1878 @ CHECK
: qsub8
r1, r2, r3 @ encoding
: [0xf3,0x1f,0x22,0xe6]
1879 @ CHECK
: qsub8le
r1, r2, r3 @ encoding
: [0xf3,0x1f,0x22,0xd6]
1882 @
------------------------------------------------------------------------------
1884 @
------------------------------------------------------------------------------
1888 @ CHECK
: rbit
r1, r2 @ encoding
: [0x32,0x1f,0xff,0xe6]
1889 @ CHECK
: rbitne
r1, r2 @ encoding
: [0x32,0x1f,0xff,0x16]
1892 @
------------------------------------------------------------------------------
1894 @
------------------------------------------------------------------------------
1902 @ CHECK
: rev
r1, r9 @ encoding
: [0x39,0x1f,0xbf,0xe6]
1903 @ CHECK
: revne
r1, r5 @ encoding
: [0x35,0x1f,0xbf,0x16]
1904 @ CHECK
: rev16
r8, r3 @ encoding
: [0xb3,0x8f,0xbf,0xe6]
1905 @ CHECK
: rev16ne
r12, r4 @ encoding
: [0xb4,0xcf,0xbf,0x16]
1906 @ CHECK
: revsh
r4, r9 @ encoding
: [0xb9,0x4f,0xff,0xe6]
1907 @ CHECK
: revshne
r9, r1 @ encoding
: [0xb1,0x9f,0xff,0x16]
1910 @
------------------------------------------------------------------------------
1912 @
------------------------------------------------------------------------------
1936 @ CHECK
: rfeda
r2 @ encoding
: [0x00,0x0a,0x12,0xf8]
1937 @ CHECK
: rfedb
r3 @ encoding
: [0x00,0x0a,0x13,0xf9]
1938 @ CHECK
: rfeia
r5 @ encoding
: [0x00,0x0a,0x95,0xf8]
1939 @ CHECK
: rfeib
r6 @ encoding
: [0x00,0x0a,0x96,0xf9]
1941 @ CHECK
: rfeda
r4! @ encoding
: [0x00,0x0a,0x34,0xf8]
1942 @ CHECK
: rfedb
r7! @ encoding
: [0x00,0x0a,0x37,0xf9]
1943 @ CHECK
: rfeia
r9! @ encoding
: [0x00,0x0a,0xb9,0xf8]
1944 @ CHECK
: rfeib
r8! @ encoding
: [0x00,0x0a,0xb8,0xf9]
1946 @ CHECK
: rfeda
r2 @ encoding
: [0x00,0x0a,0x12,0xf8]
1947 @ CHECK
: rfedb
r3 @ encoding
: [0x00,0x0a,0x13,0xf9]
1948 @ CHECK
: rfeia
r5 @ encoding
: [0x00,0x0a,0x95,0xf8]
1949 @ CHECK
: rfeib
r6 @ encoding
: [0x00,0x0a,0x96,0xf9]
1951 @ CHECK
: rfeda
r4! @ encoding
: [0x00,0x0a,0x34,0xf8]
1952 @ CHECK
: rfedb
r7! @ encoding
: [0x00,0x0a,0x37,0xf9]
1953 @ CHECK
: rfeia
r9! @ encoding
: [0x00,0x0a,0xb9,0xf8]
1954 @ CHECK
: rfeib
r8! @ encoding
: [0x00,0x0a,0xb8,0xf9]
1956 @ CHECK
: rfeia
r1 @ encoding
: [0x00,0x0a,0x91,0xf8]
1957 @ CHECK
: rfeia
r1! @ encoding
: [0x00,0x0a,0xb1,0xf8]
1960 @
------------------------------------------------------------------------------
1962 @
------------------------------------------------------------------------------
1968 @ CHECK
: ror
r2, r4, #31 @ encoding: [0xe4,0x2f,0xa0,0xe1]
1969 @ CHECK
: ror
r2, r4, #1 @ encoding: [0xe4,0x20,0xa0,0xe1]
1970 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1971 @ CHECK
: ror
r4, r4, #1 @ encoding: [0xe4,0x40,0xa0,0xe1]
1974 @
------------------------------------------------------------------------------
1976 @
------------------------------------------------------------------------------
1980 rsb
r7, r8, #(0xff << 16)
1981 rsb
r7, r8, #-2147483638
1986 rsb
r7, r8, (2 * 20), (1 << 1)
1988 rsb
r4, r5, r6, lsl
#5
1989 rsblo
r4, r5, r6, lsr
#5
1990 rsb
r4, r5, r6, lsr
#5
1991 rsb
r4, r5, r6, asr
#5
1992 rsb
r4, r5, r6, ror
#5
1993 rsb
r6, r7, r8, lsl
r9
1994 rsb
r6, r7, r8, lsr
r9
1995 rsb
r6, r7, r8, asr
r9
1996 rsble
r6, r7, r8, ror
r9
1999 @ destination register is optional
2003 rsb
r7, #(0xff << 16)
2004 rsb
r7, #-2147483638
2009 rsb
r7, (2 * 20), (1 << 1)
2013 rsbne
r4, r5, lsr
#5
2016 rsbgt
r6, r7, lsl
r9
2022 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
2023 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
2024 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
2025 @ CHECK
: rsb
r7, r8, #16711680 @ encoding: [0xff,0x78,0x68,0xe2]
2026 @ CHECK
: rsb
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2]
2027 @ CHECK
: rsb
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2]
2028 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2029 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2030 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2031 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2032 @ CHECK
: rsb
r4, r5, r6 @ encoding
: [0x06,0x40,0x65,0xe0]
2033 @ CHECK
: rsb
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x65,0xe0]
2034 @ CHECK
: rsblo
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x65,0x30]
2035 @ CHECK
: rsb
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x65,0xe0]
2036 @ CHECK
: rsb
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x65,0xe0]
2037 @ CHECK
: rsb
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x65,0xe0]
2038 @ CHECK
: rsb
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x67,0xe0]
2039 @ CHECK
: rsb
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x67,0xe0]
2040 @ CHECK
: rsb
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x67,0xe0]
2041 @ CHECK
: rsble
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x67,0xd0]
2042 @ CHECK
: rsb
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x65,0xe0]
2044 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2045 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2046 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2047 @ CHECK
: rsb
r7, r7, #16711680 @ encoding: [0xff,0x78,0x67,0xe2]
2048 @ CHECK
: rsb
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2]
2049 @ CHECK
: rsb
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2]
2050 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2051 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2052 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2053 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2054 @ CHECK
: rsb
r4, r4, r5 @ encoding
: [0x05,0x40,0x64,0xe0]
2055 @ CHECK
: rsb
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x64,0xe0]
2056 @ CHECK
: rsb
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x64,0xe0]
2057 @ CHECK
: rsbne
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x64,0x10]
2058 @ CHECK
: rsb
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x64,0xe0]
2059 @ CHECK
: rsb
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x64,0xe0]
2060 @ CHECK
: rsbgt
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x66,0xc0]
2061 @ CHECK
: rsb
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x66,0xe0]
2062 @ CHECK
: rsb
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x66,0xe0]
2063 @ CHECK
: rsb
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x66,0xe0]
2064 @ CHECK
: rsb
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x64,0xe0]
2066 @
------------------------------------------------------------------------------
2068 @
------------------------------------------------------------------------------
2072 rsbs
r7, #(0xff << 16)
2073 rsbs
r7, r8, #-2147483638
2074 rsbs
r7, r8, #42, #2
2075 rsbs
r7, r8, #40, #2
2076 rsbs
r7, r8, $
40, $
2
2078 rsbs
r7, r8, (2 * 20), (1 << 1)
2080 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2081 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2082 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2083 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2084 @ CHECK
: rsbs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2]
2085 @ CHECK
: rsbs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2]
2086 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2087 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2088 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2089 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2091 @
------------------------------------------------------------------------------
2093 @
------------------------------------------------------------------------------
2097 rsc
r7, r8, #(0xff << 16)
2098 rsc
r7, r8, #-2147483638
2103 rsc
r7, r8, (2 * 20), (1 << 1)
2105 rsc
r4, r5, r6, lsl
#5
2106 rsclo
r4, r5, r6, lsr
#5
2107 rsc
r4, r5, r6, lsr
#5
2108 rsc
r4, r5, r6, asr
#5
2109 rsc
r4, r5, r6, ror
#5
2110 rsc
r6, r7, r8, lsl
r9
2111 rsc
r6, r7, r8, lsr
r9
2112 rsc
r6, r7, r8, asr
r9
2113 rscle
r6, r7, r8, ror
r9
2116 @ destination register is optional
2120 rsc
r7, #(0xff << 16)
2121 rsc
r7, #-2147483638
2126 rsc
r7, (2 * 20), (1 << 1)
2130 rscne
r4, r5, lsr
#5
2133 rscgt
r6, r7, lsl
r9
2138 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2139 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2140 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2141 @ CHECK
: rsc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xe8,0xe2]
2142 @ CHECK
: rsc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2]
2143 @ CHECK
: rsc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2]
2144 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2145 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2146 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2147 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2148 @ CHECK
: rsc
r4, r5, r6 @ encoding
: [0x06,0x40,0xe5,0xe0]
2149 @ CHECK
: rsc
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0xe5,0xe0]
2150 @ CHECK
: rsclo
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xe5,0x30]
2151 @ CHECK
: rsc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xe5,0xe0]
2152 @ CHECK
: rsc
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0xe5,0xe0]
2153 @ CHECK
: rsc
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0xe5,0xe0]
2154 @ CHECK
: rsc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xe7,0xe0]
2155 @ CHECK
: rsc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xe7,0xe0]
2156 @ CHECK
: rsc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xe7,0xe0]
2157 @ CHECK
: rscle
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xe7,0xd0]
2158 @ CHECK
: rscs
r1, r8, #4064 @ encoding: [0xfe,0x1e,0xf8,0xe2]
2160 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2161 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2162 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2163 @ CHECK
: rsc
r7, r7, #16711680 @ encoding: [0xff,0x78,0xe7,0xe2]
2164 @ CHECK
: rsc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2]
2165 @ CHECK
: rsc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2]
2166 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2167 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2168 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2169 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2170 @ CHECK
: rsc
r4, r4, r5 @ encoding
: [0x05,0x40,0xe4,0xe0]
2171 @ CHECK
: rsc
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0xe4,0xe0]
2172 @ CHECK
: rsc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xe4,0xe0]
2173 @ CHECK
: rscne
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xe4,0x10]
2174 @ CHECK
: rsc
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0xe4,0xe0]
2175 @ CHECK
: rsc
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0xe4,0xe0]
2176 @ CHECK
: rscgt
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xe6,0xc0]
2177 @ CHECK
: rsc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xe6,0xe0]
2178 @ CHECK
: rsc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xe6,0xe0]
2179 @ CHECK
: rsc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xe6,0xe0]
2181 @
------------------------------------------------------------------------------
2183 @
------------------------------------------------------------------------------
2190 @ CHECK
: rrx
r0, r1 @ encoding
: [0x61,0x00,0xa0,0xe1]
2191 @ CHECK
: rrx sp
, pc @ encoding
: [0x6f,0xd0,0xa0,0xe1]
2192 @ CHECK
: rrx pc
, lr @ encoding
: [0x6e,0xf0,0xa0,0xe1]
2193 @ CHECK
: rrx
lr, sp @ encoding
: [0x6d,0xe0,0xa0,0xe1]
2200 @CHECK
: rrxs
r0, r1 @ encoding
: [0x61,0x00,0xb0,0xe1]
2201 @CHECK
: rrxs sp
, pc @ encoding
: [0x6f,0xd0,0xb0,0xe1]
2202 @CHECK
: rrxs pc
, lr @ encoding
: [0x6e,0xf0,0xb0,0xe1]
2203 @CHECK
: rrxs
lr, sp @ encoding
: [0x6d,0xe0,0xb0,0xe1]
2205 @
------------------------------------------------------------------------------
2207 @
------------------------------------------------------------------------------
2213 @ CHECK
: sadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x12,0xe6]
2214 @ CHECK
: sadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x12,0xc6]
2215 @ CHECK
: sadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x12,0xe6]
2216 @ CHECK
: sadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x12,0xd6]
2219 @
------------------------------------------------------------------------------
2221 @
------------------------------------------------------------------------------
2225 @ CHECK
: sasx
r9, r12, r0 @ encoding
: [0x30,0x9f,0x1c,0xe6]
2226 @ CHECK
: sasxeq
r9, r12, r0 @ encoding
: [0x30,0x9f,0x1c,0x06]
2229 @
------------------------------------------------------------------------------
2231 @
------------------------------------------------------------------------------
2235 sbc
r7, r8, #(0xff << 16)
2236 sbc
r7, r8, #-2147483638
2241 sbc
r7, r8, (20 * 2), (1 << 1)
2243 sbc
r4, r5, r6, lsl
#5
2244 sbc
r4, r5, r6, lsr
#5
2245 sbc
r4, r5, r6, lsr
#5
2246 sbc
r4, r5, r6, asr
#5
2247 sbc
r4, r5, r6, ror
#5
2248 sbc
r6, r7, r8, lsl
r9
2249 sbc
r6, r7, r8, lsr
r9
2250 sbc
r6, r7, r8, asr
r9
2251 sbc
r6, r7, r8, ror
r9
2253 @ destination register is optional
2257 sbc
r7, #(0xff << 16)
2258 sbc
r7, #-2147483638
2263 sbc
r7, (20 * 2), (1 << 1)
2275 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2276 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2277 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2278 @ CHECK
: sbc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xc8,0xe2]
2279 @ CHECK
: sbc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2]
2280 @ CHECK
: sbc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2]
2281 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2282 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2283 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2284 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2285 @ CHECK
: sbc
r4, r5, r6 @ encoding
: [0x06,0x40,0xc5,0xe0]
2286 @ CHECK
: sbc
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0xc5,0xe0]
2287 @ CHECK
: sbc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xc5,0xe0]
2288 @ CHECK
: sbc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xc5,0xe0]
2289 @ CHECK
: sbc
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0xc5,0xe0]
2290 @ CHECK
: sbc
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0xc5,0xe0]
2291 @ CHECK
: sbc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xc7,0xe0]
2292 @ CHECK
: sbc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xc7,0xe0]
2293 @ CHECK
: sbc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xc7,0xe0]
2294 @ CHECK
: sbc
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xc7,0xe0]
2296 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2297 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2298 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2299 @ CHECK
: sbc
r7, r7, #16711680 @ encoding: [0xff,0x78,0xc7,0xe2]
2300 @ CHECK
: sbc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2]
2301 @ CHECK
: sbc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2]
2302 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2303 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2304 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2305 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2306 @ CHECK
: sbc
r4, r4, r5 @ encoding
: [0x05,0x40,0xc4,0xe0]
2307 @ CHECK
: sbc
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0xc4,0xe0]
2308 @ CHECK
: sbc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xc4,0xe0]
2309 @ CHECK
: sbc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xc4,0xe0]
2310 @ CHECK
: sbc
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0xc4,0xe0]
2311 @ CHECK
: sbc
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0xc4,0xe0]
2312 @ CHECK
: sbc
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xc6,0xe0]
2313 @ CHECK
: sbc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xc6,0xe0]
2314 @ CHECK
: sbc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xc6,0xe0]
2315 @ CHECK
: sbc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xc6,0xe0]
2318 @
------------------------------------------------------------------------------
2320 @
------------------------------------------------------------------------------
2321 sbfx
r4, r5, #16, #1
2322 sbfxgt
r4, r5, #16, #16
2324 @ CHECK
: sbfx
r4, r5, #16, #1 @ encoding: [0x55,0x48,0xa0,0xe7]
2325 @ CHECK
: sbfxgt
r4, r5, #16, #16 @ encoding: [0x55,0x48,0xaf,0xc7]
2328 @
------------------------------------------------------------------------------
2330 @
------------------------------------------------------------------------------
2334 @ CHECK
: sel
r9, r2, r1 @ encoding
: [0xb1,0x9f,0x82,0xe6]
2335 @ CHECK
: selne
r9, r2, r1 @ encoding
: [0xb1,0x9f,0x82,0x16]
2338 @
------------------------------------------------------------------------------
2340 @
------------------------------------------------------------------------------
2346 @ CHECK
: setend
be @ encoding
: [0x00,0x02,0x01,0xf1]
2347 @ CHECK
: setend
be @ encoding
: [0x00,0x02,0x01,0xf1]
2348 @ CHECK
: setend le @ encoding
: [0x00,0x00,0x01,0xf1]
2349 @ CHECK
: setend le @ encoding
: [0x00,0x00,0x01,0xf1]
2352 @
------------------------------------------------------------------------------
2354 @
------------------------------------------------------------------------------
2358 @ CHECK
: sev @ encoding
: [0x04,0xf0,0x20,0xe3]
2359 @ CHECK
: seveq @ encoding
: [0x04,0xf0,0x20,0x03]
2362 @
------------------------------------------------------------------------------
2364 @
------------------------------------------------------------------------------
2366 shadd16gt
r4, r8, r2
2370 @ CHECK
: shadd16
r4, r8, r2 @ encoding
: [0x12,0x4f,0x38,0xe6]
2371 @ CHECK
: shadd16gt
r4, r8, r2 @ encoding
: [0x12,0x4f,0x38,0xc6]
2372 @ CHECK
: shadd8
r4, r8, r2 @ encoding
: [0x92,0x4f,0x38,0xe6]
2373 @ CHECK
: shadd8gt
r4, r8, r2 @ encoding
: [0x92,0x4f,0x38,0xc6]
2376 @
------------------------------------------------------------------------------
2378 @
------------------------------------------------------------------------------
2382 @ CHECK
: shasx
r4, r8, r2 @ encoding
: [0x32,0x4f,0x38,0xe6]
2383 @ CHECK
: shasxgt
r4, r8, r2 @ encoding
: [0x32,0x4f,0x38,0xc6]
2386 @
------------------------------------------------------------------------------
2388 @
------------------------------------------------------------------------------
2390 shsub16gt
r4, r8, r2
2394 @ CHECK
: shsub16
r4, r8, r2 @ encoding
: [0x72,0x4f,0x38,0xe6]
2395 @ CHECK
: shsub16gt
r4, r8, r2 @ encoding
: [0x72,0x4f,0x38,0xc6]
2396 @ CHECK
: shsub8
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x38,0xe6]
2397 @ CHECK
: shsub8gt
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x38,0xc6]
2399 @
------------------------------------------------------------------------------
2400 @ SMLABB
/SMLABT
/SMLATB
/SMLATT
2401 @
------------------------------------------------------------------------------
2402 smlabb
r3, r1, r9, r0
2403 smlabt
r5, r6, r4, r1
2404 smlatb
r4, r2, r3, r2
2405 smlatt
r8, r3, r8, r4
2406 smlabbge
r3, r1, r9, r0
2407 smlabtle
r5, r6, r4, r1
2408 smlatbne
r4, r2, r3, r2
2409 smlatteq
r8, r3, r8, r4
2411 @ CHECK
: smlabb
r3, r1, r9, r0 @ encoding
: [0x81,0x09,0x03,0xe1]
2412 @ CHECK
: smlabt
r5, r6, r4, r1 @ encoding
: [0xc6,0x14,0x05,0xe1]
2413 @ CHECK
: smlatb
r4, r2, r3, r2 @ encoding
: [0xa2,0x23,0x04,0xe1]
2414 @ CHECK
: smlatt
r8, r3, r8, r4 @ encoding
: [0xe3,0x48,0x08,0xe1]
2415 @ CHECK
: smlabbge
r3, r1, r9, r0 @ encoding
: [0x81,0x09,0x03,0xa1]
2416 @ CHECK
: smlabtle
r5, r6, r4, r1 @ encoding
: [0xc6,0x14,0x05,0xd1]
2417 @ CHECK
: smlatbne
r4, r2, r3, r2 @ encoding
: [0xa2,0x23,0x04,0x11]
2418 @ CHECK
: smlatteq
r8, r3, r8, r4 @ encoding
: [0xe3,0x48,0x08,0x01]
2420 @
------------------------------------------------------------------------------
2422 @
------------------------------------------------------------------------------
2423 smlad
r2, r3, r5, r8
2424 smladx
r2, r3, r5, r8
2425 smladeq
r2, r3, r5, r8
2426 smladxhi
r2, r3, r5, r8
2428 @ CHECK
: smlad
r2, r3, r5, r8 @ encoding
: [0x13,0x85,0x02,0xe7]
2429 @ CHECK
: smladx
r2, r3, r5, r8 @ encoding
: [0x33,0x85,0x02,0xe7]
2430 @ CHECK
: smladeq
r2, r3, r5, r8 @ encoding
: [0x13,0x85,0x02,0x07]
2431 @ CHECK
: smladxhi
r2, r3, r5, r8 @ encoding
: [0x33,0x85,0x02,0x87]
2434 @
------------------------------------------------------------------------------
2436 @
------------------------------------------------------------------------------
2437 smlal
r2, r3, r5, r8
2438 smlals
r2, r3, r5, r8
2439 smlaleq
r2, r3, r5, r8
2440 smlalshi
r2, r3, r5, r8
2442 @ CHECK
: smlal
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xe3,0xe0]
2443 @ CHECK
: smlals
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xf3,0xe0]
2444 @ CHECK
: smlaleq
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xe3,0x00]
2445 @ CHECK
: smlalshi
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xf3,0x80]
2448 @
------------------------------------------------------------------------------
2449 @ SMLALBB
/SMLALBT
/SMLALTB
/SMLALTT
2450 @
------------------------------------------------------------------------------
2451 smlalbb
r3, r1, r9, r0
2452 smlalbt
r5, r6, r4, r1
2453 smlaltb
r4, r2, r3, r2
2454 smlaltt
r8, r3, r8, r4
2455 smlalbbge
r3, r1, r9, r0
2456 smlalbtle
r5, r6, r4, r1
2457 smlaltbne
r4, r2, r3, r2
2458 smlaltteq
r8, r3, r8, r4
2460 @ CHECK
: smlalbb
r3, r1, r9, r0 @ encoding
: [0x89,0x30,0x41,0xe1]
2461 @ CHECK
: smlalbt
r5, r6, r4, r1 @ encoding
: [0xc4,0x51,0x46,0xe1]
2462 @ CHECK
: smlaltb
r4, r2, r3, r2 @ encoding
: [0xa3,0x42,0x42,0xe1]
2463 @ CHECK
: smlaltt
r8, r3, r8, r4 @ encoding
: [0xe8,0x84,0x43,0xe1]
2464 @ CHECK
: smlalbbge
r3, r1, r9, r0 @ encoding
: [0x89,0x30,0x41,0xa1]
2465 @ CHECK
: smlalbtle
r5, r6, r4, r1 @ encoding
: [0xc4,0x51,0x46,0xd1]
2466 @ CHECK
: smlaltbne
r4, r2, r3, r2 @ encoding
: [0xa3,0x42,0x42,0x11]
2467 @ CHECK
: smlaltteq
r8, r3, r8, r4 @ encoding
: [0xe8,0x84,0x43,0x01]
2470 @
------------------------------------------------------------------------------
2472 @
------------------------------------------------------------------------------
2473 smlald
r2, r3, r5, r8
2474 smlaldx
r2, r3, r5, r8
2475 smlaldeq
r2, r3, r5, r8
2476 smlaldxhi
r2, r3, r5, r8
2478 @ CHECK
: smlald
r2, r3, r5, r8 @ encoding
: [0x15,0x28,0x43,0xe7]
2479 @ CHECK
: smlaldx
r2, r3, r5, r8 @ encoding
: [0x35,0x28,0x43,0xe7]
2480 @ CHECK
: smlaldeq
r2, r3, r5, r8 @ encoding
: [0x15,0x28,0x43,0x07]
2481 @ CHECK
: smlaldxhi
r2, r3, r5, r8 @ encoding
: [0x35,0x28,0x43,0x87]
2484 @
------------------------------------------------------------------------------
2486 @
------------------------------------------------------------------------------
2487 smlawb
r2, r3, r10, r8
2488 smlawt
r8, r3, r5, r9
2489 smlawbeq
r2, r7, r5, r8
2490 smlawthi
r1, r3, r0, r8
2492 @ CHECK
: smlawb
r2, r3, r10, r8 @ encoding
: [0x83,0x8a,0x22,0xe1]
2493 @ CHECK
: smlawt
r8, r3, r5, r9 @ encoding
: [0xc3,0x95,0x28,0xe1]
2494 @ CHECK
: smlawbeq
r2, r7, r5, r8 @ encoding
: [0x87,0x85,0x22,0x01]
2495 @ CHECK
: smlawthi
r1, r3, r0, r8 @ encoding
: [0xc3,0x80,0x21,0x81]
2498 @
------------------------------------------------------------------------------
2500 @
------------------------------------------------------------------------------
2501 smlsd
r2, r3, r5, r8
2502 smlsdx
r2, r3, r5, r8
2503 smlsdeq
r2, r3, r5, r8
2504 smlsdxhi
r2, r3, r5, r8
2506 @ CHECK
: smlsd
r2, r3, r5, r8 @ encoding
: [0x53,0x85,0x02,0xe7]
2507 @ CHECK
: smlsdx
r2, r3, r5, r8 @ encoding
: [0x73,0x85,0x02,0xe7]
2508 @ CHECK
: smlsdeq
r2, r3, r5, r8 @ encoding
: [0x53,0x85,0x02,0x07]
2509 @ CHECK
: smlsdxhi
r2, r3, r5, r8 @ encoding
: [0x73,0x85,0x02,0x87]
2512 @
------------------------------------------------------------------------------
2514 @
------------------------------------------------------------------------------
2515 smlsld
r2, r9, r5, r1
2516 smlsldx
r4, r11, r2, r8
2517 smlsldeq
r8, r2, r5, r6
2518 smlsldxhi
r1, r0, r3, r8
2520 @ CHECK
: smlsld
r2, r9, r5, r1 @ encoding
: [0x55,0x21,0x49,0xe7]
2521 @ CHECK
: smlsldx
r4, r11, r2, r8 @ encoding
: [0x72,0x48,0x4b,0xe7]
2522 @ CHECK
: smlsldeq
r8, r2, r5, r6 @ encoding
: [0x55,0x86,0x42,0x07]
2523 @ CHECK
: smlsldxhi
r1, r0, r3, r8 @ encoding
: [0x73,0x18,0x40,0x87]
2526 @
------------------------------------------------------------------------------
2528 @
------------------------------------------------------------------------------
2529 smmla
r1, r2, r3, r4
2530 smmlar
r4, r3, r2, r1
2531 smmlalo
r1, r2, r3, r4
2532 smmlarcs
r4, r3, r2, r1
2534 @ CHECK
: smmla
r1, r2, r3, r4 @ encoding
: [0x12,0x43,0x51,0xe7]
2535 @ CHECK
: smmlar
r4, r3, r2, r1 @ encoding
: [0x33,0x12,0x54,0xe7]
2536 @ CHECK
: smmlalo
r1, r2, r3, r4 @ encoding
: [0x12,0x43,0x51,0x37]
2537 @ CHECK
: smmlarhs
r4, r3, r2, r1 @ encoding
: [0x33,0x12,0x54,0x27]
2540 @
------------------------------------------------------------------------------
2542 @
------------------------------------------------------------------------------
2543 smmls
r1, r2, r3, r4
2544 smmlsr
r4, r3, r2, r1
2545 smmlslo
r1, r2, r3, r4
2546 smmlsrcs
r4, r3, r2, r1
2548 @ CHECK
: smmls
r1, r2, r3, r4 @ encoding
: [0xd2,0x43,0x51,0xe7]
2549 @ CHECK
: smmlsr
r4, r3, r2, r1 @ encoding
: [0xf3,0x12,0x54,0xe7]
2550 @ CHECK
: smmlslo
r1, r2, r3, r4 @ encoding
: [0xd2,0x43,0x51,0x37]
2551 @ CHECK
: smmlsrhs
r4, r3, r2, r1 @ encoding
: [0xf3,0x12,0x54,0x27]
2554 @
------------------------------------------------------------------------------
2556 @
------------------------------------------------------------------------------
2562 @ CHECK
: smmul
r2, r3, r4 @ encoding
: [0x13,0xf4,0x52,0xe7]
2563 @ CHECK
: smmulr
r3, r2, r1 @ encoding
: [0x32,0xf1,0x53,0xe7]
2564 @ CHECK
: smmullo
r2, r3, r4 @ encoding
: [0x13,0xf4,0x52,0x37]
2565 @ CHECK
: smmulrhs
r3, r2, r1 @ encoding
: [0x32,0xf1,0x53,0x27]
2568 @
------------------------------------------------------------------------------
2570 @
------------------------------------------------------------------------------
2576 @ CHECK
: smuad
r2, r3, r4 @ encoding
: [0x13,0xf4,0x02,0xe7]
2577 @ CHECK
: smuadx
r3, r2, r1 @ encoding
: [0x32,0xf1,0x03,0xe7]
2578 @ CHECK
: smuadlt
r2, r3, r4 @ encoding
: [0x13,0xf4,0x02,0xb7]
2579 @ CHECK
: smuadxge
r3, r2, r1 @ encoding
: [0x32,0xf1,0x03,0xa7]
2582 @
------------------------------------------------------------------------------
2583 @ SMULBB
/SMULBT
/SMULTB
/SMULTT
2584 @
------------------------------------------------------------------------------
2594 @ CHECK
: smulbb
r3, r9, r0 @ encoding
: [0x89,0x00,0x63,0xe1]
2595 @ CHECK
: smulbt
r5, r4, r1 @ encoding
: [0xc4,0x01,0x65,0xe1]
2596 @ CHECK
: smultb
r4, r2, r2 @ encoding
: [0xa2,0x02,0x64,0xe1]
2597 @ CHECK
: smultt
r8, r3, r4 @ encoding
: [0xe3,0x04,0x68,0xe1]
2598 @ CHECK
: smulbbge
r1, r9, r0 @ encoding
: [0x89,0x00,0x61,0xa1]
2599 @ CHECK
: smulbtle
r5, r6, r4 @ encoding
: [0xc6,0x04,0x65,0xd1]
2600 @ CHECK
: smultbne
r2, r3, r2 @ encoding
: [0xa3,0x02,0x62,0x11]
2601 @ CHECK
: smultteq
r8, r3, r4 @ encoding
: [0xe3,0x04,0x68,0x01]
2604 @
------------------------------------------------------------------------------
2606 @
------------------------------------------------------------------------------
2607 smull
r3, r9, r0, r1
2608 smulls
r3, r9, r0, r2
2609 smulleq
r8, r3, r4, r5
2610 smullseq
r8, r3, r4, r3
2612 @ CHECK
: smull
r3, r9, r0, r1 @ encoding
: [0x90,0x31,0xc9,0xe0]
2613 @ CHECK
: smulls
r3, r9, r0, r2 @ encoding
: [0x90,0x32,0xd9,0xe0]
2614 @ CHECK
: smulleq
r8, r3, r4, r5 @ encoding
: [0x94,0x85,0xc3,0x00]
2615 @ CHECK
: smullseq
r8, r3, r4, r3 @ encoding
: [0x94,0x83,0xd3,0x00]
2618 @
------------------------------------------------------------------------------
2620 @
------------------------------------------------------------------------------
2624 @ CHECK
: smulwb
r3, r9, r0 @ encoding
: [0xa9,0x00,0x23,0xe1]
2625 @ CHECK
: smulwt
r3, r9, r2 @ encoding
: [0xe9,0x02,0x23,0xe1]
2628 @
------------------------------------------------------------------------------
2630 @
------------------------------------------------------------------------------
2636 @ CHECK
: smusd
r3, r0, r1 @ encoding
: [0x50,0xf1,0x03,0xe7]
2637 @ CHECK
: smusdx
r3, r9, r2 @ encoding
: [0x79,0xf2,0x03,0xe7]
2638 @ CHECK
: smusdeq
r8, r3, r2 @ encoding
: [0x53,0xf2,0x08,0x07]
2639 @ CHECK
: smusdxne
r7, r4, r3 @ encoding
: [0x74,0xf3,0x07,0x17]
2642 @
------------------------------------------------------------------------------
2644 @
------------------------------------------------------------------------------
2668 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2669 @ CHECK
: srsdb sp
, #1 @ encoding: [0x01,0x05,0x4d,0xf9]
2670 @ CHECK
: srsia sp
, #0 @ encoding: [0x00,0x05,0xcd,0xf8]
2671 @ CHECK
: srsib sp
, #15 @ encoding: [0x0f,0x05,0xcd,0xf9]
2673 @ CHECK
: srsda sp
!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8]
2674 @ CHECK
: srsdb sp
!, #19 @ encoding: [0x13,0x05,0x6d,0xf9]
2675 @ CHECK
: srsia sp
!, #2 @ encoding: [0x02,0x05,0xed,0xf8]
2676 @ CHECK
: srsib sp
!, #14 @ encoding: [0x0e,0x05,0xed,0xf9]
2678 @ CHECK
: srsib sp
, #11 @ encoding: [0x0b,0x05,0xcd,0xf9]
2679 @ CHECK
: srsia sp
, #10 @ encoding: [0x0a,0x05,0xcd,0xf8]
2680 @ CHECK
: srsdb sp
, #9 @ encoding: [0x09,0x05,0x4d,0xf9]
2681 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2683 @ CHECK
: srsib sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf9]
2684 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2685 @ CHECK
: srsdb sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf9]
2686 @ CHECK
: srsda sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf8]
2688 @ CHECK
: srsia sp
, #5 @ encoding: [0x05,0x05,0xcd,0xf8]
2689 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2691 @ Compatibility aliases.
2715 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2716 @ CHECK
: srsdb sp
, #1 @ encoding: [0x01,0x05,0x4d,0xf9]
2717 @ CHECK
: srsia sp
, #0 @ encoding: [0x00,0x05,0xcd,0xf8]
2718 @ CHECK
: srsib sp
, #15 @ encoding: [0x0f,0x05,0xcd,0xf9]
2719 @ CHECK
: srsda sp
!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8]
2720 @ CHECK
: srsdb sp
!, #19 @ encoding: [0x13,0x05,0x6d,0xf9]
2721 @ CHECK
: srsia sp
!, #2 @ encoding: [0x02,0x05,0xed,0xf8]
2722 @ CHECK
: srsib sp
!, #14 @ encoding: [0x0e,0x05,0xed,0xf9]
2723 @ CHECK
: srsib sp
, #11 @ encoding: [0x0b,0x05,0xcd,0xf9]
2724 @ CHECK
: srsia sp
, #10 @ encoding: [0x0a,0x05,0xcd,0xf8]
2725 @ CHECK
: srsdb sp
, #9 @ encoding: [0x09,0x05,0x4d,0xf9]
2726 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2727 @ CHECK
: srsib sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf9]
2728 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2729 @ CHECK
: srsdb sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf9]
2730 @ CHECK
: srsda sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf8]
2731 @ CHECK
: srsia sp
, #5 @ encoding: [0x05,0x05,0xcd,0xf8]
2732 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2735 @
------------------------------------------------------------------------------
2737 @
------------------------------------------------------------------------------
2739 ssat
r8, #1, r10, lsl #0
2740 ssat
r8, #1, r10, lsl #31
2741 ssat
r8, #1, r10, asr #32
2742 ssat
r8, #1, r10, asr #1
2744 @ CHECK
: ssat
r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6]
2745 @ CHECK
: ssat
r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6]
2746 @ CHECK
: ssat
r8, #1, r10, lsl #31 @ encoding: [0x9a,0x8f,0xa0,0xe6]
2747 @ CHECK
: ssat
r8, #1, r10, asr #32 @ encoding: [0x5a,0x80,0xa0,0xe6]
2748 @ CHECK
: ssat
r8, #1, r10, asr #1 @ encoding: [0xda,0x80,0xa0,0xe6]
2751 @
------------------------------------------------------------------------------
2753 @
------------------------------------------------------------------------------
2757 @ CHECK
: ssat16
r2, #1, r7 @ encoding: [0x37,0x2f,0xa0,0xe6]
2758 @ CHECK
: ssat16
r3, #16, r5 @ encoding: [0x35,0x3f,0xaf,0xe6]
2761 @
------------------------------------------------------------------------------
2763 @
------------------------------------------------------------------------------
2767 @ CHECK
: ssax
r2, r3, r4 @ encoding
: [0x54,0x2f,0x13,0xe6]
2768 @ CHECK
: ssaxlt
r2, r3, r4 @ encoding
: [0x54,0x2f,0x13,0xb6]
2770 @
------------------------------------------------------------------------------
2772 @
------------------------------------------------------------------------------
2778 @ CHECK
: ssub16
r1, r0, r6 @ encoding
: [0x76,0x1f,0x10,0xe6]
2779 @ CHECK
: ssub16ne
r5, r3, r2 @ encoding
: [0x72,0x5f,0x13,0x16]
2780 @ CHECK
: ssub8
r9, r2, r4 @ encoding
: [0xf4,0x9f,0x12,0xe6]
2781 @ CHECK
: ssub8eq
r5, r1, r2 @ encoding
: [0xf2,0x5f,0x11,0x06]
2783 @
------------------------------------------------------------------------------
2785 @
------------------------------------------------------------------------------
2786 stc2 p0
, c8
, [r1, #4]
2788 stc2 p2
, c6
, [r3, #-224]
2789 stc2 p3
, c5
, [r4, #-120]!
2790 stc2 p4
, c4
, [r5], #16
2791 stc2 p5
, c3
, [r6], #-72
2792 stc2l p6
, c2
, [r7, #4]
2794 stc2l p8
, c0
, [r9, #-224]
2795 stc2l p9
, c1
, [r10, #-120]!
2796 stc2l p0
, c2
, [r11], #16
2797 stc2l p1
, c3
, [r12], #-72
2799 stc p12
, c4
, [r0, #4]
2801 stc p14
, c6
, [r2, #-224]
2802 stc p15
, c7
, [r3, #-120]!
2803 stc p5
, c8
, [r4], #16
2804 stc p4
, c9
, [r5], #-72
2805 stcl p3
, c10
, [r6, #4]
2807 stcl p1
, c12
, [r8, #-224]
2808 stcl p0
, c13
, [r9, #-120]!
2809 stcl p6
, c14
, [r10], #16
2810 stcl p7
, c15
, [r11], #-72
2812 stclo p12
, c4
, [r0, #4]
2814 stccs p14
, c6
, [r2, #-224]
2815 stccc p15
, c7
, [r3, #-120]!
2816 stceq p5
, c8
, [r4], #16
2817 stcgt p4
, c9
, [r5], #-72
2818 stcllt p3
, c10
, [r6, #4]
2819 stclge p2
, c11
, [r7]
2820 stclle p1
, c12
, [r8, #-224]
2821 stclne p0
, c13
, [r9, #-120]!
2822 stcleq p6
, c14
, [r10], #16
2823 stclhi p7
, c15
, [r11], #-72
2825 stc2 p2
, c8
, [r1], { 25 }
2827 @ CHECK
: stc2 p0
, c8
, [r1, #4] @ encoding: [0x01,0x80,0x81,0xfd]
2828 @ CHECK
: stc2 p1
, c7
, [r2] @ encoding
: [0x00,0x71,0x82,0xfd]
2829 @ CHECK
: stc2 p2
, c6
, [r3, #-224] @ encoding: [0x38,0x62,0x03,0xfd]
2830 @ CHECK
: stc2 p3
, c5
, [r4, #-120]! @ encoding: [0x1e,0x53,0x24,0xfd]
2831 @ CHECK
: stc2 p4
, c4
, [r5], #16 @ encoding: [0x04,0x44,0xa5,0xfc]
2832 @ CHECK
: stc2 p5
, c3
, [r6], #-72 @ encoding: [0x12,0x35,0x26,0xfc]
2833 @ CHECK
: stc2l p6
, c2
, [r7, #4] @ encoding: [0x01,0x26,0xc7,0xfd]
2834 @ CHECK
: stc2l p7
, c1
, [r8] @ encoding
: [0x00,0x17,0xc8,0xfd]
2835 @ CHECK
: stc2l p8
, c0
, [r9, #-224] @ encoding: [0x38,0x08,0x49,0xfd]
2836 @ CHECK
: stc2l p9
, c1
, [r10, #-120]! @ encoding: [0x1e,0x19,0x6a,0xfd]
2837 @ CHECK
: stc2l p0
, c2
, [r11], #16 @ encoding: [0x04,0x20,0xeb,0xfc]
2838 @ CHECK
: stc2l p1
, c3
, [r12], #-72 @ encoding: [0x12,0x31,0x6c,0xfc]
2840 @ CHECK
: stc p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x80,0xed]
2841 @ CHECK
: stc p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x81,0xed]
2842 @ CHECK
: stc p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0xed]
2843 @ CHECK
: stc p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0xed]
2844 @ CHECK
: stc p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xa4,0xec]
2845 @ CHECK
: stc p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xec]
2846 @ CHECK
: stcl p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xed]
2847 @ CHECK
: stcl p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xc7,0xed]
2848 @ CHECK
: stcl p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xed]
2849 @ CHECK
: stcl p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0xed]
2850 @ CHECK
: stcl p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xea,0xec]
2851 @ CHECK
: stcl p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0xec]
2853 @ CHECK
: stclo p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x80,0x3d]
2854 @ CHECK
: stchi p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x81,0x8d]
2855 @ CHECK
: stchs p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0x2d]
2856 @ CHECK
: stclo p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0x3d]
2857 @ CHECK
: stceq p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xa4,0x0c]
2858 @ CHECK
: stcgt p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xcc]
2859 @ CHECK
: stcllt p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xbd]
2860 @ CHECK
: stclge p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xc7,0xad]
2861 @ CHECK
: stclle p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xdd]
2862 @ CHECK
: stclne p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0x1d]
2863 @ CHECK
: stcleq p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xea,0x0c]
2864 @ CHECK
: stclhi p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0x8c]
2866 @ CHECK
: stc2 p2
, c8
, [r1], {25} @ encoding
: [0x19,0x82,0x81,0xfc]
2869 @
------------------------------------------------------------------------------
2871 @
------------------------------------------------------------------------------
2872 stm r2, {r1,r3-
r6,sp
}
2873 stmia
r3, {r1,r3-
r6,lr}
2874 stmib
r4, {r1,r3-
r6,sp
}
2875 stmda
r5, {r1,r3-
r6,sp
}
2876 stmdb
r6, {r1,r3-
r6,r8}
2877 stmfd sp
, {r1,r3-
r6,sp
}
2880 stm r8!, {r1,r3-
r6,sp
}
2881 stmib
r9!, {r1,r3-
r6,sp
}
2882 stmda sp
!, {r1,r3-
r6}
2883 stmdb
r0!, {r1,r5,r7,sp
}
2885 @ CHECK
: stm r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x82,0xe8]
2886 @ CHECK
: stm r3, {r1, r3, r4, r5, r6, lr} @ encoding
: [0x7a,0x40,0x83,0xe8]
2887 @ CHECK
: stmib
r4, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x84,0xe9]
2888 @ CHECK
: stmda
r5, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x05,0xe8]
2889 @ CHECK
: stmdb
r6, {r1, r3, r4, r5, r6, r8} @ encoding
: [0x7a,0x01,0x06,0xe9]
2890 @ CHECK
: stmdb sp
, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x0d,0xe9]
2892 @ CHECK
: stm r8!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xa8,0xe8]
2893 @ CHECK
: stmib
r9!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xa9,0xe9]
2894 @ CHECK
: stmda sp
!, {r1, r3, r4, r5, r6} @ encoding
: [0x7a,0x00,0x2d,0xe8]
2895 @ CHECK
: stmdb
r0!, {r1, r5, r7, sp
} @ encoding
: [0xa2,0x20,0x20,0xe9]
2898 @
------------------------------------------------------------------------------
2899 @ STREX
/STREXB
/STREXH
/STREXD
2900 @
------------------------------------------------------------------------------
2904 strexd
r6, r2, r3, [r8]
2906 @ CHECK
: strexb
r1, r3, [r4] @ encoding
: [0x93,0x1f,0xc4,0xe1]
2907 @ CHECK
: strexh
r4, r2, [r5] @ encoding
: [0x92,0x4f,0xe5,0xe1]
2908 @ CHECK
: strex
r2, r1, [r7] @ encoding
: [0x91,0x2f,0x87,0xe1]
2909 @ CHECK
: strexd
r6, r2, r3, [r8] @ encoding
: [0x92,0x6f,0xa8,0xe1]
2913 @ CHECK
: strexd
r6, r2, r3, [r8] @ encoding
: [0x92,0x6f,0xa8,0xe1]
2915 @
------------------------------------------------------------------------------
2917 @
------------------------------------------------------------------------------
2918 strpl
r3, [r10, #-0]!
2919 strpl
r3, [r10, #0]!
2921 @ CHECK
: strpl
r3, [r10, #-0]! @ encoding: [0x00,0x30,0x2a,0x55]
2922 @ CHECK
: strpl
r3, [r10, #0]! @ encoding: [0x00,0x30,0xaa,0x55]
2924 @
------------------------------------------------------------------------------
2926 @
------------------------------------------------------------------------------
2930 sub r7, r8, #(0xff << 16)
2931 sub r7, r8, #-2147483638
2936 sub r7, r8, (20 * 2), (1 << 1)
2938 sub r4, r5, r6, lsl
#5
2939 sub r4, r5, r6, lsr
#5
2940 sub r4, r5, r6, lsr
#5
2941 sub r4, r5, r6, asr
#5
2942 sub r4, r5, r6, ror
#5
2943 sub r6, r7, r8, lsl
r9
2944 sub r6, r7, r8, lsr
r9
2945 sub r6, r7, r8, asr
r9
2946 sub r6, r7, r8, ror
r9
2948 @ destination register is optional
2952 sub r7, #(0xff << 16)
2953 sub r7, #-2147483638
2958 sub r7, (20 * 2), (1 << 1)
2970 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2971 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2972 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2973 @ CHECK
: sub r7, r8, #16711680 @ encoding: [0xff,0x78,0x48,0xe2]
2974 @ CHECK
: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2]
2975 @ CHECK
: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2]
2976 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2977 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2978 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2979 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2980 @ CHECK
: sub r4, r5, r6 @ encoding
: [0x06,0x40,0x45,0xe0]
2981 @ CHECK
: sub r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x45,0xe0]
2982 @ CHECK
: sub r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x45,0xe0]
2983 @ CHECK
: sub r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x45,0xe0]
2984 @ CHECK
: sub r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x45,0xe0]
2985 @ CHECK
: sub r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x45,0xe0]
2986 @ CHECK
: sub r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x47,0xe0]
2987 @ CHECK
: sub r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x47,0xe0]
2988 @ CHECK
: sub r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x47,0xe0]
2989 @ CHECK
: sub r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x47,0xe0]
2992 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2993 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2994 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2995 @ CHECK
: sub r7, r7, #16711680 @ encoding: [0xff,0x78,0x47,0xe2]
2996 @ CHECK
: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2]
2997 @ CHECK
: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2]
2998 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2999 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2
3000 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
3001 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
3002 @ CHECK
: sub r4, r4, r5 @ encoding
: [0x05,0x40,0x44,0xe0]
3003 @ CHECK
: sub r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x44,0xe0]
3004 @ CHECK
: sub r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x44,0xe0]
3005 @ CHECK
: sub r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x44,0xe0]
3006 @ CHECK
: sub r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x44,0xe0]
3007 @ CHECK
: sub r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x44,0xe0]
3008 @ CHECK
: sub r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x46,0xe0]
3009 @ CHECK
: sub r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x46,0xe0]
3010 @ CHECK
: sub r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x46,0xe0]
3011 @ CHECK
: sub r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x46,0xe0]
3013 @ Test right shift by
32, which is encoded as
0
3014 sub r3, r1, r2, lsr
#32
3015 sub r3, r1, r2, asr
#32
3016 @ CHECK
: sub r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x41,0xe0]
3017 @ CHECK
: sub r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x41,0xe0]
3019 @
------------------------------------------------------------------------------
3021 @
------------------------------------------------------------------------------
3022 subs
r7, r8, #16711680
3023 subs
r7, r8, $
16711680
3024 subs
r7, r8, 16711680
3025 subs
r7, r8, #(0xff << 16)
3026 subs
r7, r8, #-2147483638
3027 subs
r7, r8, #42, #2
3028 subs
r7, r8, #40, #2
3029 subs
r7, r8, $
40, $
2
3031 subs
r7, r8, (20 * 2), (1 << 1)
3033 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3034 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3035 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3036 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3037 @ CHECK
: subs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2]
3038 @ CHECK
: subs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2]
3039 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3040 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3041 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3042 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3044 @
------------------------------------------------------------------------------
3046 @
------------------------------------------------------------------------------
3051 @ CHECK
: svc #16 @ encoding: [0x10,0x00,0x00,0xef]
3052 @ CHECK
: svc #0 @ encoding: [0x00,0x00,0x00,0xef]
3053 @ CHECK
: svc #16777215 @ encoding: [0xff,0xff,0xff,0xef]
3056 @
------------------------------------------------------------------------------
3058 @
------------------------------------------------------------------------------
3063 @ CHECK
: swp
r1, r2, [r3] @ encoding
: [0x92,0x10,0x03,0xe1]
3064 @ CHECK
: swp
r4, r4, [r6] @ encoding
: [0x94,0x40,0x06,0xe1]
3065 @ CHECK
: swpb
r5, r1, [r9] @ encoding
: [0x91,0x50,0x49,0xe1]
3068 @
------------------------------------------------------------------------------
3070 @
------------------------------------------------------------------------------
3072 sxtab
r4, r5, r6, ror
#0
3073 sxtablt
r6, r2, r9, ror
#8
3074 sxtab
r5, r1, r4, ror
#16
3075 sxtab
r7, r8, r3, ror
#24
3077 @ CHECK
: sxtab
r2, r3, r4 @ encoding
: [0x74,0x20,0xa3,0xe6]
3078 @ CHECK
: sxtab
r4, r5, r6 @ encoding
: [0x76,0x40,0xa5,0xe6]
3079 @ CHECK
: sxtablt
r6, r2, r9, ror
#8 @ encoding: [0x79,0x64,0xa2,0xb6]
3080 @ CHECK
: sxtab
r5, r1, r4, ror
#16 @ encoding: [0x74,0x58,0xa1,0xe6]
3081 @ CHECK
: sxtab
r7, r8, r3, ror
#24 @ encoding: [0x73,0x7c,0xa8,0xe6]
3084 @
------------------------------------------------------------------------------
3086 @
------------------------------------------------------------------------------
3087 sxtab16ge
r0, r1, r4
3088 sxtab16
r6, r2, r7, ror
#0
3089 sxtab16
r3, r5, r8, ror
#8
3090 sxtab16
r3, r2, r1, ror
#16
3091 sxtab16eq
r1, r2, r3, ror
#24
3093 @ CHECK
: sxtab16ge
r0, r1, r4 @ encoding
: [0x74,0x00,0x81,0xa6]
3094 @ CHECK
: sxtab16
r6, r2, r7 @ encoding
: [0x77,0x60,0x82,0xe6]
3095 @ CHECK
: sxtab16
r3, r5, r8, ror
#8 @ encoding: [0x78,0x34,0x85,0xe6]
3096 @ CHECK
: sxtab16
r3, r2, r1, ror
#16 @ encoding: [0x71,0x38,0x82,0xe6]
3097 @ CHECK
: sxtab16eq
r1, r2, r3, ror
#24 @ encoding: [0x73,0x1c,0x82,0x06]
3099 @
------------------------------------------------------------------------------
3101 @
------------------------------------------------------------------------------
3103 sxtahhi
r6, r1, r6, ror
#0
3104 sxtah
r3, r8, r3, ror
#8
3105 sxtahlo
r2, r2, r4, ror
#16
3106 sxtah
r9, r3, r3, ror
#24
3108 @ CHECK
: sxtah
r1, r3, r9 @ encoding
: [0x79,0x10,0xb3,0xe6]
3109 @ CHECK
: sxtahhi
r6, r1, r6 @ encoding
: [0x76,0x60,0xb1,0x86]
3110 @ CHECK
: sxtah
r3, r8, r3, ror
#8 @ encoding: [0x73,0x34,0xb8,0xe6]
3111 @ CHECK
: sxtahlo
r2, r2, r4, ror
#16 @ encoding: [0x74,0x28,0xb2,0x36]
3112 @ CHECK
: sxtah
r9, r3, r3, ror
#24 @ encoding: [0x73,0x9c,0xb3,0xe6]
3114 @
------------------------------------------------------------------------------
3116 @
------------------------------------------------------------------------------
3120 sxtbcc
r5, r1, ror
#16
3121 sxtb
r8, r3, ror
#24
3123 @ CHECK
: sxtbge
r2, r4 @ encoding
: [0x74,0x20,0xaf,0xa6]
3124 @ CHECK
: sxtb
r5, r6 @ encoding
: [0x76,0x50,0xaf,0xe6]
3125 @ CHECK
: sxtb
r6, r9, ror
#8 @ encoding: [0x79,0x64,0xaf,0xe6]
3126 @ CHECK
: sxtblo
r5, r1, ror
#16 @ encoding: [0x71,0x58,0xaf,0x36]
3127 @ CHECK
: sxtb
r8, r3, ror
#24 @ encoding: [0x73,0x8c,0xaf,0xe6]
3130 @
------------------------------------------------------------------------------
3132 @
------------------------------------------------------------------------------
3134 sxtb16
r6, r7, ror
#0
3135 sxtb16cs
r3, r5, ror
#8
3136 sxtb16
r3, r1, ror
#16
3137 sxtb16ge
r2, r3, ror
#24
3139 @ CHECK
: sxtb16
r1, r4 @ encoding
: [0x74,0x10,0x8f,0xe6]
3140 @ CHECK
: sxtb16
r6, r7 @ encoding
: [0x77,0x60,0x8f,0xe6]
3141 @ CHECK
: sxtb16hs
r3, r5, ror
#8 @ encoding: [0x75,0x34,0x8f,0x26]
3142 @ CHECK
: sxtb16
r3, r1, ror
#16 @ encoding: [0x71,0x38,0x8f,0xe6]
3143 @ CHECK
: sxtb16ge
r2, r3, ror
#24 @ encoding: [0x73,0x2c,0x8f,0xa6]
3146 @
------------------------------------------------------------------------------
3148 @
------------------------------------------------------------------------------
3152 sxthle
r2, r2, ror
#16
3153 sxth
r9, r3, ror
#24
3155 @ CHECK
: sxthne
r3, r9 @ encoding
: [0x79,0x30,0xbf,0x16]
3156 @ CHECK
: sxth
r1, r6 @ encoding
: [0x76,0x10,0xbf,0xe6]
3157 @ CHECK
: sxth
r3, r8, ror
#8 @ encoding: [0x78,0x34,0xbf,0xe6]
3158 @ CHECK
: sxthle
r2, r2, ror
#16 @ encoding: [0x72,0x28,0xbf,0xd6]
3159 @ CHECK
: sxth
r9, r3, ror
#24 @ encoding: [0x73,0x9c,0xbf,0xe6]
3162 @
------------------------------------------------------------------------------
3164 @
------------------------------------------------------------------------------
3168 teq r7, #(0xff << 16)
3169 teq r7, #-2147483638
3174 teq r7, (20 * 2), (1 << 1)
3186 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3187 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3188 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3189 @ CHECK
: teq r7, #16711680 @ encoding: [0xff,0x08,0x37,0xe3]
3190 @ CHECK
: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3]
3191 @ CHECK
: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3]
3192 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3193 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3194 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3195 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3196 @ CHECK
: teq r4, r5 @ encoding
: [0x05,0x00,0x34,0xe1]
3197 @ CHECK
: teq r4, r5, lsl
#5 @ encoding: [0x85,0x02,0x34,0xe1]
3198 @ CHECK
: teq r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x34,0xe1]
3199 @ CHECK
: teq r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x34,0xe1]
3200 @ CHECK
: teq r4, r5, asr
#5 @ encoding: [0xc5,0x02,0x34,0xe1]
3201 @ CHECK
: teq r4, r5, ror
#5 @ encoding: [0xe5,0x02,0x34,0xe1]
3202 @ CHECK
: teq r6, r7, lsl
r9 @ encoding
: [0x17,0x09,0x36,0xe1]
3203 @ CHECK
: teq r6, r7, lsr
r9 @ encoding
: [0x37,0x09,0x36,0xe1]
3204 @ CHECK
: teq r6, r7, asr
r9 @ encoding
: [0x57,0x09,0x36,0xe1]
3205 @ CHECK
: teq r6, r7, ror
r9 @ encoding
: [0x77,0x09,0x36,0xe1]
3208 @
------------------------------------------------------------------------------
3210 @
------------------------------------------------------------------------------
3214 tst
r7, #(0xff << 16)
3215 tst
r7, #-2147483638
3220 tst
r7, (20 * 2), (1 << 1)
3232 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3233 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3234 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3235 @ CHECK
: tst
r7, #16711680 @ encoding: [0xff,0x08,0x17,0xe3]
3236 @ CHECK
: tst
r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3]
3237 @ CHECK
: tst
r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3]
3238 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3239 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3240 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3241 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3242 @ CHECK
: tst
r4, r5 @ encoding
: [0x05,0x00,0x14,0xe1]
3243 @ CHECK
: tst
r4, r5, lsl
#5 @ encoding: [0x85,0x02,0x14,0xe1]
3244 @ CHECK
: tst
r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x14,0xe1]
3245 @ CHECK
: tst
r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x14,0xe1]
3246 @ CHECK
: tst
r4, r5, asr
#5 @ encoding: [0xc5,0x02,0x14,0xe1]
3247 @ CHECK
: tst
r4, r5, ror
#5 @ encoding: [0xe5,0x02,0x14,0xe1]
3248 @ CHECK
: tst
r6, r7, lsl
r9 @ encoding
: [0x17,0x09,0x16,0xe1]
3249 @ CHECK
: tst
r6, r7, lsr
r9 @ encoding
: [0x37,0x09,0x16,0xe1]
3250 @ CHECK
: tst
r6, r7, asr
r9 @ encoding
: [0x57,0x09,0x16,0xe1]
3251 @ CHECK
: tst
r6, r7, ror
r9 @ encoding
: [0x77,0x09,0x16,0xe1]
3254 @
------------------------------------------------------------------------------
3256 @
------------------------------------------------------------------------------
3262 @ CHECK
: uadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x52,0xe6]
3263 @ CHECK
: uadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x52,0xc6]
3264 @ CHECK
: uadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x52,0xe6]
3265 @ CHECK
: uadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x52,0xd6]
3268 @
------------------------------------------------------------------------------
3270 @
------------------------------------------------------------------------------
3274 @ CHECK
: uasx
r9, r12, r0 @ encoding
: [0x30,0x9f,0x5c,0xe6]
3275 @ CHECK
: uasxeq
r9, r12, r0 @ encoding
: [0x30,0x9f,0x5c,0x06]
3278 @
------------------------------------------------------------------------------
3280 @
------------------------------------------------------------------------------
3281 ubfx
r4, r5, #16, #1
3282 ubfxgt
r4, r5, #16, #16
3284 @ CHECK
: ubfx
r4, r5, #16, #1 @ encoding: [0x55,0x48,0xe0,0xe7]
3285 @ CHECK
: ubfxgt
r4, r5, #16, #16 @ encoding: [0x55,0x48,0xef,0xc7]
3288 @
------------------------------------------------------------------------------
3290 @
------------------------------------------------------------------------------
3292 uhadd16gt
r4, r8, r2
3296 @ CHECK
: uhadd16
r4, r8, r2 @ encoding
: [0x12,0x4f,0x78,0xe6]
3297 @ CHECK
: uhadd16gt
r4, r8, r2 @ encoding
: [0x12,0x4f,0x78,0xc6]
3298 @ CHECK
: uhadd8
r4, r8, r2 @ encoding
: [0x92,0x4f,0x78,0xe6]
3299 @ CHECK
: uhadd8gt
r4, r8, r2 @ encoding
: [0x92,0x4f,0x78,0xc6]
3302 @
------------------------------------------------------------------------------
3304 @
------------------------------------------------------------------------------
3308 @ CHECK
: uhasx
r4, r8, r2 @ encoding
: [0x32,0x4f,0x78,0xe6]
3309 @ CHECK
: uhasxgt
r4, r8, r2 @ encoding
: [0x32,0x4f,0x78,0xc6]
3312 @
------------------------------------------------------------------------------
3314 @
------------------------------------------------------------------------------
3316 uhsub16gt
r4, r8, r2
3320 @ CHECK
: uhsub16
r4, r8, r2 @ encoding
: [0x72,0x4f,0x78,0xe6]
3321 @ CHECK
: uhsub16gt
r4, r8, r2 @ encoding
: [0x72,0x4f,0x78,0xc6]
3322 @ CHECK
: uhsub8
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x78,0xe6]
3323 @ CHECK
: uhsub8gt
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x78,0xc6]
3326 @
------------------------------------------------------------------------------
3328 @
------------------------------------------------------------------------------
3329 umaal
r3, r4, r5, r6
3330 umaallt
r3, r4, r5, r6
3332 @ CHECK
: umaal
r3, r4, r5, r6 @ encoding
: [0x95,0x36,0x44,0xe0]
3333 @ CHECK
: umaallt
r3, r4, r5, r6 @ encoding
: [0x95,0x36,0x44,0xb0]
3336 @
------------------------------------------------------------------------------
3338 @
------------------------------------------------------------------------------
3339 umlal
r2, r4, r6, r8
3340 umlalgt
r6, r1, r2, r6
3341 umlals
r2, r9, r2, r3
3342 umlalseq
r3, r5, r1, r2
3344 @ CHECK
: umlal
r2, r4, r6, r8 @ encoding
: [0x96,0x28,0xa4,0xe0]
3345 @ CHECK
: umlalgt
r6, r1, r2, r6 @ encoding
: [0x92,0x66,0xa1,0xc0]
3346 @ CHECK
: umlals
r2, r9, r2, r3 @ encoding
: [0x92,0x23,0xb9,0xe0]
3347 @ CHECK
: umlalseq
r3, r5, r1, r2 @ encoding
: [0x91,0x32,0xb5,0x00]
3350 @
------------------------------------------------------------------------------
3352 @
------------------------------------------------------------------------------
3353 umull
r2, r4, r6, r8
3354 umullgt
r6, r1, r2, r6
3355 umulls
r2, r9, r2, r3
3356 umullseq
r3, r5, r1, r2
3358 @ CHECK
: umull
r2, r4, r6, r8 @ encoding
: [0x96,0x28,0x84,0xe0]
3359 @ CHECK
: umullgt
r6, r1, r2, r6 @ encoding
: [0x92,0x66,0x81,0xc0]
3360 @ CHECK
: umulls
r2, r9, r2, r3 @ encoding
: [0x92,0x23,0x99,0xe0]
3361 @ CHECK
: umullseq
r3, r5, r1, r2 @ encoding
: [0x91,0x32,0x95,0x00]
3364 @
------------------------------------------------------------------------------
3366 @
------------------------------------------------------------------------------
3368 uqadd16gt
r4, r7, r9
3373 @ CHECK
: uqadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x62,0xe6]
3374 @ CHECK
: uqadd16gt
r4, r7, r9 @ encoding
: [0x19,0x4f,0x67,0xc6]
3375 @ CHECK
: uqadd8
r3, r4, r8 @ encoding
: [0x98,0x3f,0x64,0xe6]
3376 @ CHECK
: uqadd8le
r8, r1, r2 @ encoding
: [0x92,0x8f,0x61,0xd6]
3379 @
------------------------------------------------------------------------------
3381 @
------------------------------------------------------------------------------
3385 @ CHECK
: uqasx
r2, r4, r1 @ encoding
: [0x31,0x2f,0x64,0xe6]
3386 @ CHECK
: uqasxhi
r5, r2, r9 @ encoding
: [0x39,0x5f,0x62,0x86]
3389 @
------------------------------------------------------------------------------
3391 @
------------------------------------------------------------------------------
3395 @ CHECK
: uqsax
r1, r3, r7 @ encoding
: [0x57,0x1f,0x63,0xe6]
3396 @ CHECK
: uqsax
r3, r6, r2 @ encoding
: [0x52,0x3f,0x66,0xe6]
3399 @
------------------------------------------------------------------------------
3401 @
------------------------------------------------------------------------------
3403 uqsub16gt
r3, r2, r5
3407 @ CHECK
: uqsub16
r1, r5, r3 @ encoding
: [0x73,0x1f,0x65,0xe6]
3408 @ CHECK
: uqsub16gt
r3, r2, r5 @ encoding
: [0x75,0x3f,0x62,0xc6]
3409 @ CHECK
: uqsub8
r2, r1, r4 @ encoding
: [0xf4,0x2f,0x61,0xe6]
3410 @ CHECK
: uqsub8le
r4, r6, r9 @ encoding
: [0xf9,0x4f,0x66,0xd6]
3413 @
------------------------------------------------------------------------------
3415 @
------------------------------------------------------------------------------
3418 usada8
r1, r5, r3, r7
3419 usada8gt
r3, r2, r5, r1
3421 @ CHECK
: usad8
r2, r1, r4 @ encoding
: [0x11,0xf4,0x82,0xe7]
3422 @ CHECK
: usad8le
r4, r6, r9 @ encoding
: [0x16,0xf9,0x84,0xd7]
3423 @ CHECK
: usada8
r1, r5, r3, r7 @ encoding
: [0x15,0x73,0x81,0xe7]
3424 @ CHECK
: usada8gt
r3, r2, r5, r1 @ encoding
: [0x12,0x15,0x83,0xc7]
3427 @
------------------------------------------------------------------------------
3429 @
------------------------------------------------------------------------------
3431 usat
r8, #4, r10, lsl #0
3432 usat
r8, #5, r10, lsl #31
3433 usat
r8, #31, r10, asr #32
3434 usat
r8, #16, r10, asr #1
3436 @ CHECK
: usat
r8, #1, r10 @ encoding: [0x1a,0x80,0xe1,0xe6]
3437 @ CHECK
: usat
r8, #4, r10 @ encoding: [0x1a,0x80,0xe4,0xe6]
3438 @ CHECK
: usat
r8, #5, r10, lsl #31 @ encoding: [0x9a,0x8f,0xe5,0xe6]
3439 @ CHECK
: usat
r8, #31, r10, asr #32 @ encoding: [0x5a,0x80,0xff,0xe6]
3440 @ CHECK
: usat
r8, #16, r10, asr #1 @ encoding: [0xda,0x80,0xf0,0xe6]
3443 @
------------------------------------------------------------------------------
3445 @
------------------------------------------------------------------------------
3449 @ CHECK
: usat16
r2, #2, r7 @ encoding: [0x37,0x2f,0xe2,0xe6]
3450 @ CHECK
: usat16
r3, #15, r5 @ encoding: [0x35,0x3f,0xef,0xe6]
3453 @
------------------------------------------------------------------------------
3455 @
------------------------------------------------------------------------------
3459 @ CHECK
: usax
r2, r3, r4 @ encoding
: [0x54,0x2f,0x53,0xe6]
3460 @ CHECK
: usaxne
r2, r3, r4 @ encoding
: [0x54,0x2f,0x53,0x16]
3462 @
------------------------------------------------------------------------------
3464 @
------------------------------------------------------------------------------
3470 @ CHECK
: usub16
r4, r2, r7 @ encoding
: [0x77,0x4f,0x52,0xe6]
3471 @ CHECK
: usub16hi
r1, r1, r3 @ encoding
: [0x73,0x1f,0x51,0x86]
3472 @ CHECK
: usub8
r1, r8, r5 @ encoding
: [0xf5,0x1f,0x58,0xe6]
3473 @ CHECK
: usub8le
r9, r2, r3 @ encoding
: [0xf3,0x9f,0x52,0xd6]
3476 @
------------------------------------------------------------------------------
3478 @
------------------------------------------------------------------------------
3480 uxtab
r4, r5, r6, ror
#0
3481 uxtablt
r6, r2, r9, ror
#8
3482 uxtab
r5, r1, r4, ror
#16
3483 uxtab
r7, r8, r3, ror
#24
3485 @ CHECK
: uxtab
r2, r3, r4 @ encoding
: [0x74,0x20,0xe3,0xe6]
3486 @ CHECK
: uxtab
r4, r5, r6 @ encoding
: [0x76,0x40,0xe5,0xe6]
3487 @ CHECK
: uxtablt
r6, r2, r9, ror
#8 @ encoding: [0x79,0x64,0xe2,0xb6]
3488 @ CHECK
: uxtab
r5, r1, r4, ror
#16 @ encoding: [0x74,0x58,0xe1,0xe6]
3489 @ CHECK
: uxtab
r7, r8, r3, ror
#24 @ encoding: [0x73,0x7c,0xe8,0xe6]
3492 @
------------------------------------------------------------------------------
3494 @
------------------------------------------------------------------------------
3495 uxtab16ge
r0, r1, r4
3496 uxtab16
r6, r2, r7, ror
#0
3497 uxtab16
r3, r5, r8, ror
#8
3498 uxtab16
r3, r2, r1, ror
#16
3499 uxtab16eq
r1, r2, r3, ror
#24
3501 @ CHECK
: uxtab16ge
r0, r1, r4 @ encoding
: [0x74,0x00,0xc1,0xa6]
3502 @ CHECK
: uxtab16
r6, r2, r7 @ encoding
: [0x77,0x60,0xc2,0xe6]
3503 @ CHECK
: uxtab16
r3, r5, r8, ror
#8 @ encoding: [0x78,0x34,0xc5,0xe6]
3504 @ CHECK
: uxtab16
r3, r2, r1, ror
#16 @ encoding: [0x71,0x38,0xc2,0xe6]
3505 @ CHECK
: uxtab16eq
r1, r2, r3, ror
#24 @ encoding: [0x73,0x1c,0xc2,0x06]
3508 @
------------------------------------------------------------------------------
3510 @
------------------------------------------------------------------------------
3512 uxtahhi
r6, r1, r6, ror
#0
3513 uxtah
r3, r8, r3, ror
#8
3514 uxtahlo
r2, r2, r4, ror
#16
3515 uxtah
r9, r3, r3, ror
#24
3517 @ CHECK
: uxtah
r1, r3, r9 @ encoding
: [0x79,0x10,0xf3,0xe6]
3518 @ CHECK
: uxtahhi
r6, r1, r6 @ encoding
: [0x76,0x60,0xf1,0x86]
3519 @ CHECK
: uxtah
r3, r8, r3, ror
#8 @ encoding: [0x73,0x34,0xf8,0xe6]
3520 @ CHECK
: uxtahlo
r2, r2, r4, ror
#16 @ encoding: [0x74,0x28,0xf2,0x36]
3521 @ CHECK
: uxtah
r9, r3, r3, ror
#24 @ encoding: [0x73,0x9c,0xf3,0xe6]
3523 @
------------------------------------------------------------------------------
3525 @
------------------------------------------------------------------------------
3529 uxtbcc
r5, r1, ror
#16
3530 uxtb
r8, r3, ror
#24
3532 @ CHECK
: uxtbge
r2, r4 @ encoding
: [0x74,0x20,0xef,0xa6]
3533 @ CHECK
: uxtb
r5, r6 @ encoding
: [0x76,0x50,0xef,0xe6]
3534 @ CHECK
: uxtb
r6, r9, ror
#8 @ encoding: [0x79,0x64,0xef,0xe6]
3535 @ CHECK
: uxtblo
r5, r1, ror
#16 @ encoding: [0x71,0x58,0xef,0x36]
3536 @ CHECK
: uxtb
r8, r3, ror
#24 @ encoding: [0x73,0x8c,0xef,0xe6]
3539 @
------------------------------------------------------------------------------
3541 @
------------------------------------------------------------------------------
3543 uxtb16
r6, r7, ror
#0
3544 uxtb16cs
r3, r5, ror
#8
3545 uxtb16
r3, r1, ror
#16
3546 uxtb16ge
r2, r3, ror
#24
3548 @ CHECK
: uxtb16
r1, r4 @ encoding
: [0x74,0x10,0xcf,0xe6]
3549 @ CHECK
: uxtb16
r6, r7 @ encoding
: [0x77,0x60,0xcf,0xe6]
3550 @ CHECK
: uxtb16hs
r3, r5, ror
#8 @ encoding: [0x75,0x34,0xcf,0x26]
3551 @ CHECK
: uxtb16
r3, r1, ror
#16 @ encoding: [0x71,0x38,0xcf,0xe6]
3552 @ CHECK
: uxtb16ge
r2, r3, ror
#24 @ encoding: [0x73,0x2c,0xcf,0xa6]
3555 @
------------------------------------------------------------------------------
3557 @
------------------------------------------------------------------------------
3561 uxthle
r2, r2, ror
#16
3562 uxth
r9, r3, ror
#24
3564 @ CHECK
: uxthne
r3, r9 @ encoding
: [0x79,0x30,0xff,0x16]
3565 @ CHECK
: uxth
r1, r6 @ encoding
: [0x76,0x10,0xff,0xe6]
3566 @ CHECK
: uxth
r3, r8, ror
#8 @ encoding: [0x78,0x34,0xff,0xe6]
3567 @ CHECK
: uxthle
r2, r2, ror
#16 @ encoding: [0x72,0x28,0xff,0xd6]
3568 @ CHECK
: uxth
r9, r3, ror
#24 @ encoding: [0x73,0x9c,0xff,0xe6]
3571 @
------------------------------------------------------------------------------
3573 @
------------------------------------------------------------------------------
3587 @ CHECK
: wfe @ encoding
: [0x02,0xf0,0x20,0xe3]
3588 @ CHECK
: wfehi @ encoding
: [0x02,0xf0,0x20,0x83]
3589 @ CHECK
: wfi @ encoding
: [0x03,0xf0,0x20,0xe3]
3590 @ CHECK
: wfilt @ encoding
: [0x03,0xf0,0x20,0xb3]
3591 @ CHECK
: yield @ encoding
: [0x01,0xf0,0x20,0xe3]
3592 @ CHECK
: yieldne @ encoding
: [0x01,0xf0,0x20,0x13]
3593 @ CHECK
: sev @ encoding
: [0x04,0xf0,0x20,0xe3]
3594 @ CHECK
: wfi @ encoding
: [0x03,0xf0,0x20,0xe3]
3595 @ CHECK
: wfe @ encoding
: [0x02,0xf0,0x20,0xe3]
3596 @ CHECK
: yield @ encoding
: [0x01,0xf0,0x20,0xe3]
3597 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
3598 @ CHECK
: hintgt
#239 @ encoding: [0xef,0xf0,0x20,0xc3]