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]
1205 @
------------------------------------------------------------------------------
1207 @
------------------------------------------------------------------------------
1208 ldrhthi
r8, [r11], #-0
1209 ldrhthi
r8, [r11], #0
1211 @ CHECK
: ldrhthi
r8, [r11], #-0 @ encoding: [0xb0,0x80,0x7b,0x80]
1212 @ CHECK
: ldrhthi
r8, [r11], #0 @ encoding: [0xb0,0x80,0xfb,0x80]
1214 @
------------------------------------------------------------------------------
1216 @
------------------------------------------------------------------------------
1222 @ CHECK
: lsl
r2, r4, #31 @ encoding: [0x84,0x2f,0xa0,0xe1]
1223 @ CHECK
: lsl
r2, r4, #1 @ encoding: [0x84,0x20,0xa0,0xe1]
1224 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1225 @ CHECK
: lsl
r4, r4, #1 @ encoding: [0x84,0x40,0xa0,0xe1]
1228 @
------------------------------------------------------------------------------
1230 @
------------------------------------------------------------------------------
1236 @ CHECK
: lsr
r2, r4, #32 @ encoding: [0x24,0x20,0xa0,0xe1]
1237 @ CHECK
: lsr
r2, r4, #2 @ encoding: [0x24,0x21,0xa0,0xe1]
1238 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1239 @ CHECK
: lsr
r4, r4, #2 @ encoding: [0x24,0x41,0xa0,0xe1]
1242 @
------------------------------------------------------------------------------
1244 @
------------------------------------------------------------------------------
1245 mcr p7
, #1, r5, c1, c1, #4
1246 mcr2 p7
, #1, r5, c1, c1, #4
1247 MCR P7
, #1, R5, C1, C1, #4
1248 MCR2 P7
, #1, R5, C1, C1, #4
1250 @ CHECK
: mcr p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee]
1251 @ CHECK
: mcr2 p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe]
1252 @ CHECK
: mcr p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee]
1253 @ CHECK
: mcr2 p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe]
1255 mcrls p7
, #1, r5, c1, c1, #4
1256 MCRLS P7
, #1, R5, C1, C1, #4
1257 @ CHECK
: mcrls p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0x9e]
1258 @ CHECK
: mcrls p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0x9e]
1260 @
------------------------------------------------------------------------------
1262 @
------------------------------------------------------------------------------
1263 mcrr p7
, #15, r5, r4, c1
1264 mcrr2 p7
, #15, r5, r4, c1
1265 MCRR P7
, #15, R5, R4, C1
1266 MCRR2 P7
, #15, R5, R4, C1
1268 @ CHECK
: mcrr p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec]
1269 @ CHECK
: mcrr2 p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc]
1270 @ CHECK
: mcrr p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec]
1271 @ CHECK
: mcrr2 p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc]
1273 mcrrgt p7
, #15, r5, r4, c1
1274 MCRRGT P7
, #15, R5, R4, C1
1275 @ CHECK
: mcrrgt p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xcc]
1276 @ CHECK
: mcrrgt p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xcc]
1278 @
------------------------------------------------------------------------------
1280 @
------------------------------------------------------------------------------
1286 @ CHECK
: mla
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x21,0xe0]
1287 @ CHECK
: mlas
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x31,0xe0]
1288 @ CHECK
: mlane
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x21,0x10]
1289 @ CHECK
: mlasne
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x31,0x10]
1291 @
------------------------------------------------------------------------------
1293 @
------------------------------------------------------------------------------
1297 @ CHECK
: mls
r2, r5, r6, r3 @ encoding
: [0x95,0x36,0x62,0xe0]
1298 @ CHECK
: mlsne
r2, r5, r6, r3 @ encoding
: [0x95,0x36,0x62,0x10]
1300 @
------------------------------------------------------------------------------
1302 @
------------------------------------------------------------------------------
1311 mov
r7, #(0xff << 16)
1312 mov
r7, #-2147483638
1319 mov
r7, (2 * 20), (1 << 1)
1325 movseq
r5, #0xff0000
1327 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1328 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1329 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1330 @ CHECK
: mvn
r3, #6 @ encoding: [0x06,0x30,0xe0,0xe3]
1331 @ CHECK
: mov
r4, #4080 @ encoding: [0xff,0x4e,0xa0,0xe3]
1332 @ CHECK
: mov
r5, #16711680 @ encoding: [0xff,0x58,0xa0,0xe3]
1333 @ CHECK
: mov
r7, #42 @ encoding: [0x2a,0x70,0xa0,0xe3]
1334 @ CHECK
: mov
r7, #176160768 @ encoding: [0x2a,0x75,0xa0,0xe3]
1335 @ CHECK
: mov
r7, #16711680 @ encoding: [0xff,0x78,0xa0,0xe3]
1336 @ CHECK
: mov
r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3]
1337 @ CHECK
: mov
r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3]
1338 @ CHECK
: mov pc
, #2147483658 @ encoding: [0x2a,0xf1,0xa0,0xe3]
1339 @ CHECK
: mov
r7, #0, #2 @ encoding: [0x00,0x71,0xa0,0xe3]
1340 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1341 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1342 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1343 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1344 @ CHECK
: mov
r7, #42, #30 @ encoding: [0x2a,0x7f,0xa0,0xe3]
1345 @ CHECK
: movw
r6, #65535 @ encoding: [0xff,0x6f,0x0f,0xe3]
1346 @ CHECK
: movw
r9, #65535 @ encoding: [0xff,0x9f,0x0f,0xe3]
1347 @ CHECK
: movs
r3, #7 @ encoding: [0x07,0x30,0xb0,0xe3]
1348 @ CHECK
: moveq
r4, #4080 @ encoding: [0xff,0x4e,0xa0,0x03]
1349 @ CHECK
: movseq
r5, #16711680 @ encoding: [0xff,0x58,0xb0,0x03]
1351 @
------------------------------------------------------------------------------
1353 @
------------------------------------------------------------------------------
1358 mov
r12, r8, lsl
#(2 - 2)
1359 lsl
r2, r3, #(2 - 2)
1360 mov
r12, r8, lsr
#(2 - 2)
1361 lsr
r2, r3, #(2 - 2)
1362 mov
r12, r8, asr
#(2 - 2)
1363 asr
r2, r3, #(2 - 2)
1364 mov
r12, r8, ror
#(2 - 2)
1365 ror
r2, r3, #(2 - 2)
1367 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1368 @ CHECK
: movs
r2, r3 @ encoding
: [0x03,0x20,0xb0,0xe1]
1369 @ CHECK
: moveq
r2, r3 @ encoding
: [0x03,0x20,0xa0,0x01]
1370 @ CHECK
: movseq
r2, r3 @ encoding
: [0x03,0x20,0xb0,0x01]
1371 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1372 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1373 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1374 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
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]
1381 @
------------------------------------------------------------------------------
1383 @
------------------------------------------------------------------------------
1388 @ CHECK
: movt
r3, #7 @ encoding: [0x07,0x30,0x40,0xe3]
1389 @ CHECK
: movt
r6, #65535 @ encoding: [0xff,0x6f,0x4f,0xe3]
1390 @ CHECK
: movteq
r4, #4080 @ encoding: [0xf0,0x4f,0x40,0x03]
1393 @
------------------------------------------------------------------------------
1395 @
------------------------------------------------------------------------------
1396 mrc p14
, #0, r1, c1, c2, #4
1397 mrc p15
, #7, apsr_nzcv, c15, c6, #6
1398 mrc2 p14
, #0, r1, c1, c2, #4
1399 mrc2 p9
, #7, apsr_nzcv, c15, c0, #1
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
1405 @ CHECK
: mrc p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee]
1406 @ CHECK
: mrc p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0xee]
1407 @ CHECK
: mrc2 p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe]
1408 @ CHECK
: mrc2 p9
, #7, apsr_nzcv, c15, c0, #1 @ encoding: [0x30,0xf9,0xff,0xfe]
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]
1414 mrceq p15
, #7, apsr_nzcv, c15, c6, #6
1415 MRCEQ P15
, #7, APSR_NZCV, C15, C6, #6
1416 @ CHECK
: mrceq p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0x0e]
1417 @ CHECK
: mrceq p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0x0e]
1419 @
------------------------------------------------------------------------------
1421 @
------------------------------------------------------------------------------
1422 mrrc p7
, #1, r5, r4, c1
1423 mrrc2 p7
, #1, r5, r4, c1
1424 MRRC P7
, #1, R5, R4, C1
1425 MRRC2 P7
, #1, R5, R4, C1
1427 @ CHECK
: mrrc p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec]
1428 @ CHECK
: mrrc2 p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc]
1429 @ CHECK
: mrrc p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec]
1430 @ CHECK
: mrrc2 p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc]
1432 mrrclo p7
, #1, r5, r4, c1
1433 MRRCLO P7
, #1, R5, R4, C1
1434 @ CHECK
: mrrclo p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0x3c]
1435 @ CHECK
: mrrclo p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0x3c]
1437 @
------------------------------------------------------------------------------
1439 @
------------------------------------------------------------------------------
1443 @ CHECK
: mrs
r8, apsr @ encoding
: [0x00,0x80,0x0f,0xe1]
1444 @ CHECK
: mrs
r8, apsr @ encoding
: [0x00,0x80,0x0f,0xe1]
1445 @ CHECK
: mrs
r8, spsr @ encoding
: [0x00,0x80,0x4f,0xe1]
1449 @
------------------------------------------------------------------------------
1451 @
------------------------------------------------------------------------------
1469 msr apsr_nzcvqg
, #(0xff << 16)
1470 msr APSR_nzcvq
, #42, #2
1471 msr apsr_nzcvqg
, #2147483658
1472 msr SPSR_fsxc
, #40, #2
1473 msr SPSR_fsxc
, $
40, $
2
1474 msr SPSR_fsxc
, 40, 2
1475 msr SPSR_fsxc
, (2 * 20), (1 << 1)
1477 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1478 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1479 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1480 @ CHECK
: msr APSR_g
, #5 @ encoding: [0x05,0xf0,0x24,0xe3]
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_nzcvqg
, #5 @ encoding: [0x05,0xf0,0x2c,0xe3]
1484 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1485 @ CHECK
: msr CPSR_c
, #5 @ encoding: [0x05,0xf0,0x21,0xe3]
1486 @ CHECK
: msr CPSR_x
, #5 @ encoding: [0x05,0xf0,0x22,0xe3]
1487 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1488 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1489 @ CHECK
: msr CPSR_fsx
, #5 @ encoding: [0x05,0xf0,0x2e,0xe3]
1490 @ CHECK
: msr SPSR_fc
, #5 @ encoding: [0x05,0xf0,0x69,0xe3]
1491 @ CHECK
: msr SPSR_fsxc
, #5 @ encoding: [0x05,0xf0,0x6f,0xe3]
1492 @ CHECK
: msr CPSR_fsxc
, #5 @ encoding: [0x05,0xf0,0x2f,0xe3]
1493 @ CHECK
: msr APSR_nzcvqg
, #16711680 @ encoding: [0xff,0xf8,0x2c,0xe3]
1494 @ CHECK
: msr APSR_nzcvq
, #2147483658 @ encoding: [0x2a,0xf1,0x28,0xe3]
1495 @ CHECK
: msr APSR_nzcvqg
, #2147483658 @ encoding: [0x2a,0xf1,0x2c,0xe3]
1496 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1497 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1498 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1499 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1516 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1517 @ CHECK
: msr APSR_g
, r0 @ encoding
: [0x00,0xf0,0x24,0xe1]
1518 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1519 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1520 @ CHECK
: msr APSR_nzcvqg
, r0 @ encoding
: [0x00,0xf0,0x2c,0xe1]
1521 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1522 @ CHECK
: msr CPSR_c
, r0 @ encoding
: [0x00,0xf0,0x21,0xe1]
1523 @ CHECK
: msr CPSR_x
, r0 @ encoding
: [0x00,0xf0,0x22,0xe1]
1524 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1525 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1526 @ CHECK
: msr CPSR_fsx
, r0 @ encoding
: [0x00,0xf0,0x2e,0xe1]
1527 @ CHECK
: msr SPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x69,0xe1]
1528 @ CHECK
: msr SPSR_fsxc
, r0 @ encoding
: [0x00,0xf0,0x6f,0xe1]
1529 @ CHECK
: msr CPSR_fsxc
, r0 @ encoding
: [0x00,0xf0,0x2f,0xe1]
1531 @
------------------------------------------------------------------------------
1533 @
------------------------------------------------------------------------------
1540 @ CHECK
: mul r5, r6, r7 @ encoding
: [0x96,0x07,0x05,0xe0]
1541 @ CHECK
: muls r5, r6, r7 @ encoding
: [0x96,0x07,0x15,0xe0]
1542 @ CHECK
: mulgt
r5, r6, r7 @ encoding
: [0x96,0x07,0x05,0xc0]
1543 @ CHECK
: mulsle
r5, r6, r7 @ encoding
: [0x96,0x07,0x15,0xd0]
1546 @
------------------------------------------------------------------------------
1548 @
------------------------------------------------------------------------------
1553 mvn
r7, #~0xffffff00
1556 mvn
r7, #(0xff << 16)
1557 mvn
r7, #-2147483638
1562 mvn
r7, (2 * 20), (1 << 1)
1565 mvnseq
r5, #0xff0000
1567 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1568 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1569 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1570 @ CHECK
: mov
r3, #6 @ encoding: [0x06,0x30,0xa0,0xe3]
1571 @ CHECK
: mvn
r7, #255 @ encoding: [0xff,0x70,0xe0,0xe3]
1572 @ CHECK
: mvn
r4, #4080 @ encoding: [0xff,0x4e,0xe0,0xe3]
1573 @ CHECK
: mvn
r5, #16711680 @ encoding: [0xff,0x58,0xe0,0xe3]
1574 @ CHECK
: mvn
r7, #16711680 @ encoding: [0xff,0x78,0xe0,0xe3]
1575 @ CHECK
: mvn
r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3]
1576 @ CHECK
: mvn
r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3]
1577 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1578 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1579 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1580 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1581 @ CHECK
: mvns
r3, #7 @ encoding: [0x07,0x30,0xf0,0xe3]
1582 @ CHECK
: mvneq
r4, #4080 @ encoding: [0xff,0x4e,0xe0,0x03]
1583 @ CHECK
: mvnseq
r5, #16711680 @ encoding: [0xff,0x58,0xf0,0x03]
1586 @
------------------------------------------------------------------------------
1588 @
------------------------------------------------------------------------------
1597 mvnseq
r2, r3, lsl
#10
1599 @ CHECK
: mvn
r2, r3 @ encoding
: [0x03,0x20,0xe0,0xe1]
1600 @ CHECK
: mvns
r2, r3 @ encoding
: [0x03,0x20,0xf0,0xe1]
1601 @ CHECK
: mvn
r5, r6, lsl
#19 @ encoding: [0x86,0x59,0xe0,0xe1]
1602 @ CHECK
: mvn
r5, r6, lsr
#9 @ encoding: [0xa6,0x54,0xe0,0xe1]
1603 @ CHECK
: mvn
r5, r6, asr
#4 @ encoding: [0x46,0x52,0xe0,0xe1]
1604 @ CHECK
: mvn
r5, r6, ror
#6 @ encoding: [0x66,0x53,0xe0,0xe1]
1605 @ CHECK
: mvn
r5, r6, rrx @ encoding
: [0x66,0x50,0xe0,0xe1]
1606 @ CHECK
: mvneq
r2, r3 @ encoding
: [0x03,0x20,0xe0,0x01]
1607 @ CHECK
: mvnseq
r2, r3, lsl
#10 @ encoding: [0x03,0x25,0xf0,0x01]
1610 @
------------------------------------------------------------------------------
1611 @ MVN
(shifted register
)
1612 @
------------------------------------------------------------------------------
1615 mvngt
r5, r6, asr
r7
1616 mvnslt
r5, r6, ror
r7
1618 @ CHECK
: mvn
r5, r6, lsl
r7 @ encoding
: [0x16,0x57,0xe0,0xe1]
1619 @ CHECK
: mvns
r5, r6, lsr
r7 @ encoding
: [0x36,0x57,0xf0,0xe1]
1620 @ CHECK
: mvngt
r5, r6, asr
r7 @ encoding
: [0x56,0x57,0xe0,0xc1]
1621 @ CHECK
: mvnslt
r5, r6, ror
r7 @ encoding
: [0x76,0x57,0xf0,0xb1]
1623 @
------------------------------------------------------------------------------
1625 @
------------------------------------------------------------------------------
1628 @ CHECK
: rsb
r5, r8, #0 @ encoding: [0x00,0x50,0x68,0xe2]
1631 @
------------------------------------------------------------------------------
1633 @
------------------------------------------------------------------------------
1638 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
1639 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
1640 @ CHECK
: nopgt @ encoding
: [0x00,0xf0,0x20,0xc3]
1643 @
------------------------------------------------------------------------------
1645 @
------------------------------------------------------------------------------
1649 orr
r7, r8, #(0xff << 16)
1650 orr
r7, r8, #-2147483638
1655 orr
r7, r8, (2 * 20), (1 << 1)
1657 orr
r4, r5, r6, lsl
#5
1658 orr
r4, r5, r6, lsr
#5
1659 orr
r4, r5, r6, lsr
#5
1660 orr
r4, r5, r6, asr
#5
1661 orr
r4, r5, r6, ror
#5
1662 orr
r6, r7, r8, lsl
r9
1663 orr
r6, r7, r8, lsr
r9
1664 orr
r6, r7, r8, asr
r9
1665 orr
r6, r7, r8, ror
r9
1668 @ destination register is optional
1673 orr
r7, #(0xff << 16)
1674 orr
r7, #-2147483638
1679 orr
r7, (2 * 20), (1 << 1)
1693 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1694 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1695 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1696 @ CHECK
: orr
r7, r8, #16711680 @ encoding: [0xff,0x78,0x88,0xe3]
1697 @ CHECK
: orr
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3]
1698 @ CHECK
: orr
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3]
1699 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1700 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1701 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1702 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1703 @ CHECK
: orr
r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0xe1]
1704 @ CHECK
: orr
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x85,0xe1]
1705 @ CHECK
: orr
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe1]
1706 @ CHECK
: orr
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe1]
1707 @ CHECK
: orr
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x85,0xe1]
1708 @ CHECK
: orr
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x85,0xe1]
1709 @ CHECK
: orr
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x87,0xe1]
1710 @ CHECK
: orr
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x87,0xe1]
1711 @ CHECK
: orr
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x87,0xe1]
1712 @ CHECK
: orr
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0xe1]
1713 @ CHECK
: orr
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x85,0xe1]
1715 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1716 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1717 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1718 @ CHECK
: orr
r7, r7, #16711680 @ encoding: [0xff,0x78,0x87,0xe3]
1719 @ CHECK
: orr
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3]
1720 @ CHECK
: orr
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3]
1721 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1722 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1723 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1724 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1725 @ CHECK
: orr
r4, r4, r5 @ encoding
: [0x05,0x40,0x84,0xe1]
1726 @ CHECK
: orr
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x84,0xe1]
1727 @ CHECK
: orr
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe1]
1728 @ CHECK
: orr
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe1]
1729 @ CHECK
: orr
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x84,0xe1]
1730 @ CHECK
: orr
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x84,0xe1]
1731 @ CHECK
: orr
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x86,0xe1]
1732 @ CHECK
: orr
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x86,0xe1]
1733 @ CHECK
: orr
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0xe1]
1734 @ CHECK
: orr
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x86,0xe1]
1735 @ CHECK
: orr
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x84,0xe1]
1737 orrseq
r4, r5, #0xf000
1739 orrseq
r4, r5, r6, lsl
#5
1740 orrlo
r6, r7, r8, ror
r9
1741 orrshi
r4, r5, r6, rrx
1744 orrne
r6, r7, asr
r9
1745 orrslt
r6, r7, ror
r9
1748 @ CHECK
: orrseq
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x95,0x03]
1749 @ CHECK
: orrne
r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0x11]
1750 @ CHECK
: orrseq
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x95,0x01]
1751 @ CHECK
: orrlo
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0x31]
1752 @ CHECK
: orrshi
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x95,0x81]
1753 @ CHECK
: orrhs
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0x23]
1754 @ CHECK
: orrseq
r4, r4, r5 @ encoding
: [0x05,0x40,0x94,0x01]
1755 @ CHECK
: orrne
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0x11]
1756 @ CHECK
: orrslt
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x96,0xb1]
1757 @ CHECK
: orrsgt
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x94,0xc1]
1759 @ Test right shift by
32, which is encoded as
0
1760 orr
r3, r1, r2, lsr
#32
1761 orr
r3, r1, r2, asr
#32
1762 @ CHECK
: orr
r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x81,0xe1]
1763 @ CHECK
: orr
r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x81,0xe1]
1765 @
------------------------------------------------------------------------------
1767 @
------------------------------------------------------------------------------
1769 pkhbt
r2, r2, r3, lsl
#31
1770 pkhbt
r2, r2, r3, lsl
#0
1771 pkhbt
r2, r2, r3, lsl
#15
1774 pkhtb
r2, r2, r3, asr
#31
1775 pkhtb
r2, r2, r3, asr
#15
1777 @ CHECK
: pkhbt
r2, r2, r3 @ encoding
: [0x13,0x20,0x82,0xe6]
1778 @ CHECK
: pkhbt
r2, r2, r3, lsl
#31 @ encoding: [0x93,0x2f,0x82,0xe6]
1779 @ CHECK
: pkhbt
r2, r2, r3 @ encoding
: [0x13,0x20,0x82,0xe6]
1780 @ CHECK
: pkhbt
r2, r2, r3, lsl
#15 @ encoding: [0x93,0x27,0x82,0xe6]
1782 @ CHECK
: pkhbt
r2, r3, r2 @ encoding
: [0x12,0x20,0x83,0xe6]
1783 @ CHECK
: pkhtb
r2, r2, r3, asr
#31 @ encoding: [0xd3,0x2f,0x82,0xe6]
1784 @ CHECK
: pkhtb
r2, r2, r3, asr
#15 @ encoding: [0xd3,0x27,0x82,0xe6]
1786 @
------------------------------------------------------------------------------
1788 @
------------------------------------------------------------------------------
1789 @
------------------------------------------------------------------------------
1791 @
------------------------------------------------------------------------------
1794 @
------------------------------------------------------------------------------
1796 @
------------------------------------------------------------------------------
1798 pop
{r7, r8, r9, r10}
1800 @ CHECK
: pop
{r7} @ encoding
: [0x04,0x70,0x9d,0xe4]
1801 @ CHECK
: pop
{r7, r8, r9, r10} @ encoding
: [0x80,0x07,0xbd,0xe8]
1804 @
------------------------------------------------------------------------------
1806 @
------------------------------------------------------------------------------
1808 push
{r7, r8, r9, r10}
1810 @ CHECK
: push
{r7} @ encoding
: [0x04,0x70,0x2d,0xe5]
1811 @ CHECK
: push
{r7, r8, r9, r10} @ encoding
: [0x80,0x07,0x2d,0xe9]
1814 @
------------------------------------------------------------------------------
1816 @
------------------------------------------------------------------------------
1824 @ CHECK
: qadd
r1, r2, r3 @ encoding
: [0x52,0x10,0x03,0xe1]
1825 @ CHECK
: qaddne
r1, r2, r3 @ encoding
: [0x52,0x10,0x03,0x11]
1826 @ CHECK
: qadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x22,0xe6]
1827 @ CHECK
: qadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x22,0xc6]
1828 @ CHECK
: qadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x22,0xe6]
1829 @ CHECK
: qadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x22,0xd6]
1832 @
------------------------------------------------------------------------------
1834 @
------------------------------------------------------------------------------
1840 @ CHECK
: qdadd
r6, r7, r8 @ encoding
: [0x57,0x60,0x48,0xe1]
1841 @ CHECK
: qdaddhi
r6, r7, r8 @ encoding
: [0x57,0x60,0x48,0x81]
1842 @ CHECK
: qdsub
r6, r7, r8 @ encoding
: [0x57,0x60,0x68,0xe1]
1843 @ CHECK
: qdsubhi
r6, r7, r8 @ encoding
: [0x57,0x60,0x68,0x81]
1846 @
------------------------------------------------------------------------------
1848 @
------------------------------------------------------------------------------
1852 @ CHECK
: qsax
r9, r12, r0 @ encoding
: [0x50,0x9f,0x2c,0xe6]
1853 @ CHECK
: qsaxeq
r9, r12, r0 @ encoding
: [0x50,0x9f,0x2c,0x06]
1856 @
------------------------------------------------------------------------------
1858 @
------------------------------------------------------------------------------
1866 @ CHECK
: qsub
r1, r2, r3 @ encoding
: [0x52,0x10,0x23,0xe1]
1867 @ CHECK
: qsubne
r1, r2, r3 @ encoding
: [0x52,0x10,0x23,0x11]
1868 @ CHECK
: qsub16
r1, r2, r3 @ encoding
: [0x73,0x1f,0x22,0xe6]
1869 @ CHECK
: qsub16gt
r1, r2, r3 @ encoding
: [0x73,0x1f,0x22,0xc6]
1870 @ CHECK
: qsub8
r1, r2, r3 @ encoding
: [0xf3,0x1f,0x22,0xe6]
1871 @ CHECK
: qsub8le
r1, r2, r3 @ encoding
: [0xf3,0x1f,0x22,0xd6]
1874 @
------------------------------------------------------------------------------
1876 @
------------------------------------------------------------------------------
1880 @ CHECK
: rbit
r1, r2 @ encoding
: [0x32,0x1f,0xff,0xe6]
1881 @ CHECK
: rbitne
r1, r2 @ encoding
: [0x32,0x1f,0xff,0x16]
1884 @
------------------------------------------------------------------------------
1886 @
------------------------------------------------------------------------------
1894 @ CHECK
: rev
r1, r9 @ encoding
: [0x39,0x1f,0xbf,0xe6]
1895 @ CHECK
: revne
r1, r5 @ encoding
: [0x35,0x1f,0xbf,0x16]
1896 @ CHECK
: rev16
r8, r3 @ encoding
: [0xb3,0x8f,0xbf,0xe6]
1897 @ CHECK
: rev16ne
r12, r4 @ encoding
: [0xb4,0xcf,0xbf,0x16]
1898 @ CHECK
: revsh
r4, r9 @ encoding
: [0xb9,0x4f,0xff,0xe6]
1899 @ CHECK
: revshne
r9, r1 @ encoding
: [0xb1,0x9f,0xff,0x16]
1902 @
------------------------------------------------------------------------------
1904 @
------------------------------------------------------------------------------
1928 @ CHECK
: rfeda
r2 @ encoding
: [0x00,0x0a,0x12,0xf8]
1929 @ CHECK
: rfedb
r3 @ encoding
: [0x00,0x0a,0x13,0xf9]
1930 @ CHECK
: rfeia
r5 @ encoding
: [0x00,0x0a,0x95,0xf8]
1931 @ CHECK
: rfeib
r6 @ encoding
: [0x00,0x0a,0x96,0xf9]
1933 @ CHECK
: rfeda
r4! @ encoding
: [0x00,0x0a,0x34,0xf8]
1934 @ CHECK
: rfedb
r7! @ encoding
: [0x00,0x0a,0x37,0xf9]
1935 @ CHECK
: rfeia
r9! @ encoding
: [0x00,0x0a,0xb9,0xf8]
1936 @ CHECK
: rfeib
r8! @ encoding
: [0x00,0x0a,0xb8,0xf9]
1938 @ CHECK
: rfeda
r2 @ encoding
: [0x00,0x0a,0x12,0xf8]
1939 @ CHECK
: rfedb
r3 @ encoding
: [0x00,0x0a,0x13,0xf9]
1940 @ CHECK
: rfeia
r5 @ encoding
: [0x00,0x0a,0x95,0xf8]
1941 @ CHECK
: rfeib
r6 @ encoding
: [0x00,0x0a,0x96,0xf9]
1943 @ CHECK
: rfeda
r4! @ encoding
: [0x00,0x0a,0x34,0xf8]
1944 @ CHECK
: rfedb
r7! @ encoding
: [0x00,0x0a,0x37,0xf9]
1945 @ CHECK
: rfeia
r9! @ encoding
: [0x00,0x0a,0xb9,0xf8]
1946 @ CHECK
: rfeib
r8! @ encoding
: [0x00,0x0a,0xb8,0xf9]
1948 @ CHECK
: rfeia
r1 @ encoding
: [0x00,0x0a,0x91,0xf8]
1949 @ CHECK
: rfeia
r1! @ encoding
: [0x00,0x0a,0xb1,0xf8]
1952 @
------------------------------------------------------------------------------
1954 @
------------------------------------------------------------------------------
1960 @ CHECK
: ror
r2, r4, #31 @ encoding: [0xe4,0x2f,0xa0,0xe1]
1961 @ CHECK
: ror
r2, r4, #1 @ encoding: [0xe4,0x20,0xa0,0xe1]
1962 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1963 @ CHECK
: ror
r4, r4, #1 @ encoding: [0xe4,0x40,0xa0,0xe1]
1966 @
------------------------------------------------------------------------------
1968 @
------------------------------------------------------------------------------
1972 rsb
r7, r8, #(0xff << 16)
1973 rsb
r7, r8, #-2147483638
1978 rsb
r7, r8, (2 * 20), (1 << 1)
1980 rsb
r4, r5, r6, lsl
#5
1981 rsblo
r4, r5, r6, lsr
#5
1982 rsb
r4, r5, r6, lsr
#5
1983 rsb
r4, r5, r6, asr
#5
1984 rsb
r4, r5, r6, ror
#5
1985 rsb
r6, r7, r8, lsl
r9
1986 rsb
r6, r7, r8, lsr
r9
1987 rsb
r6, r7, r8, asr
r9
1988 rsble
r6, r7, r8, ror
r9
1991 @ destination register is optional
1995 rsb
r7, #(0xff << 16)
1996 rsb
r7, #-2147483638
2001 rsb
r7, (2 * 20), (1 << 1)
2005 rsbne
r4, r5, lsr
#5
2008 rsbgt
r6, r7, lsl
r9
2014 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
2015 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
2016 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
2017 @ CHECK
: rsb
r7, r8, #16711680 @ encoding: [0xff,0x78,0x68,0xe2]
2018 @ CHECK
: rsb
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2]
2019 @ CHECK
: rsb
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2]
2020 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2021 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2022 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2023 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
2024 @ CHECK
: rsb
r4, r5, r6 @ encoding
: [0x06,0x40,0x65,0xe0]
2025 @ CHECK
: rsb
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x65,0xe0]
2026 @ CHECK
: rsblo
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x65,0x30]
2027 @ CHECK
: rsb
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x65,0xe0]
2028 @ CHECK
: rsb
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x65,0xe0]
2029 @ CHECK
: rsb
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x65,0xe0]
2030 @ CHECK
: rsb
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x67,0xe0]
2031 @ CHECK
: rsb
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x67,0xe0]
2032 @ CHECK
: rsb
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x67,0xe0]
2033 @ CHECK
: rsble
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x67,0xd0]
2034 @ CHECK
: rsb
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x65,0xe0]
2036 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2037 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2038 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2039 @ CHECK
: rsb
r7, r7, #16711680 @ encoding: [0xff,0x78,0x67,0xe2]
2040 @ CHECK
: rsb
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2]
2041 @ CHECK
: rsb
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2]
2042 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2043 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2044 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2045 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2046 @ CHECK
: rsb
r4, r4, r5 @ encoding
: [0x05,0x40,0x64,0xe0]
2047 @ CHECK
: rsb
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x64,0xe0]
2048 @ CHECK
: rsb
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x64,0xe0]
2049 @ CHECK
: rsbne
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x64,0x10]
2050 @ CHECK
: rsb
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x64,0xe0]
2051 @ CHECK
: rsb
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x64,0xe0]
2052 @ CHECK
: rsbgt
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x66,0xc0]
2053 @ CHECK
: rsb
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x66,0xe0]
2054 @ CHECK
: rsb
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x66,0xe0]
2055 @ CHECK
: rsb
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x66,0xe0]
2056 @ CHECK
: rsb
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x64,0xe0]
2058 @
------------------------------------------------------------------------------
2060 @
------------------------------------------------------------------------------
2064 rsbs
r7, #(0xff << 16)
2065 rsbs
r7, r8, #-2147483638
2066 rsbs
r7, r8, #42, #2
2067 rsbs
r7, r8, #40, #2
2068 rsbs
r7, r8, $
40, $
2
2070 rsbs
r7, r8, (2 * 20), (1 << 1)
2072 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2073 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2074 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2075 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2076 @ CHECK
: rsbs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2]
2077 @ CHECK
: rsbs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2]
2078 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2079 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2080 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2081 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2083 @
------------------------------------------------------------------------------
2085 @
------------------------------------------------------------------------------
2089 rsc
r7, r8, #(0xff << 16)
2090 rsc
r7, r8, #-2147483638
2095 rsc
r7, r8, (2 * 20), (1 << 1)
2097 rsc
r4, r5, r6, lsl
#5
2098 rsclo
r4, r5, r6, lsr
#5
2099 rsc
r4, r5, r6, lsr
#5
2100 rsc
r4, r5, r6, asr
#5
2101 rsc
r4, r5, r6, ror
#5
2102 rsc
r6, r7, r8, lsl
r9
2103 rsc
r6, r7, r8, lsr
r9
2104 rsc
r6, r7, r8, asr
r9
2105 rscle
r6, r7, r8, ror
r9
2108 @ destination register is optional
2112 rsc
r7, #(0xff << 16)
2113 rsc
r7, #-2147483638
2118 rsc
r7, (2 * 20), (1 << 1)
2122 rscne
r4, r5, lsr
#5
2125 rscgt
r6, r7, lsl
r9
2130 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2131 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2132 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2133 @ CHECK
: rsc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xe8,0xe2]
2134 @ CHECK
: rsc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2]
2135 @ CHECK
: rsc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2]
2136 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2137 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2138 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2139 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2140 @ CHECK
: rsc
r4, r5, r6 @ encoding
: [0x06,0x40,0xe5,0xe0]
2141 @ CHECK
: rsc
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0xe5,0xe0]
2142 @ CHECK
: rsclo
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xe5,0x30]
2143 @ CHECK
: rsc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xe5,0xe0]
2144 @ CHECK
: rsc
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0xe5,0xe0]
2145 @ CHECK
: rsc
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0xe5,0xe0]
2146 @ CHECK
: rsc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xe7,0xe0]
2147 @ CHECK
: rsc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xe7,0xe0]
2148 @ CHECK
: rsc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xe7,0xe0]
2149 @ CHECK
: rscle
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xe7,0xd0]
2150 @ CHECK
: rscs
r1, r8, #4064 @ encoding: [0xfe,0x1e,0xf8,0xe2]
2152 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2153 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2154 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2155 @ CHECK
: rsc
r7, r7, #16711680 @ encoding: [0xff,0x78,0xe7,0xe2]
2156 @ CHECK
: rsc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2]
2157 @ CHECK
: rsc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2]
2158 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2159 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2160 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2161 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2162 @ CHECK
: rsc
r4, r4, r5 @ encoding
: [0x05,0x40,0xe4,0xe0]
2163 @ CHECK
: rsc
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0xe4,0xe0]
2164 @ CHECK
: rsc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xe4,0xe0]
2165 @ CHECK
: rscne
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xe4,0x10]
2166 @ CHECK
: rsc
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0xe4,0xe0]
2167 @ CHECK
: rsc
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0xe4,0xe0]
2168 @ CHECK
: rscgt
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xe6,0xc0]
2169 @ CHECK
: rsc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xe6,0xe0]
2170 @ CHECK
: rsc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xe6,0xe0]
2171 @ CHECK
: rsc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xe6,0xe0]
2173 @
------------------------------------------------------------------------------
2175 @
------------------------------------------------------------------------------
2182 @ CHECK
: rrx
r0, r1 @ encoding
: [0x61,0x00,0xa0,0xe1]
2183 @ CHECK
: rrx sp
, pc @ encoding
: [0x6f,0xd0,0xa0,0xe1]
2184 @ CHECK
: rrx pc
, lr @ encoding
: [0x6e,0xf0,0xa0,0xe1]
2185 @ CHECK
: rrx
lr, sp @ encoding
: [0x6d,0xe0,0xa0,0xe1]
2192 @CHECK
: rrxs
r0, r1 @ encoding
: [0x61,0x00,0xb0,0xe1]
2193 @CHECK
: rrxs sp
, pc @ encoding
: [0x6f,0xd0,0xb0,0xe1]
2194 @CHECK
: rrxs pc
, lr @ encoding
: [0x6e,0xf0,0xb0,0xe1]
2195 @CHECK
: rrxs
lr, sp @ encoding
: [0x6d,0xe0,0xb0,0xe1]
2197 @
------------------------------------------------------------------------------
2199 @
------------------------------------------------------------------------------
2205 @ CHECK
: sadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x12,0xe6]
2206 @ CHECK
: sadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x12,0xc6]
2207 @ CHECK
: sadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x12,0xe6]
2208 @ CHECK
: sadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x12,0xd6]
2211 @
------------------------------------------------------------------------------
2213 @
------------------------------------------------------------------------------
2217 @ CHECK
: sasx
r9, r12, r0 @ encoding
: [0x30,0x9f,0x1c,0xe6]
2218 @ CHECK
: sasxeq
r9, r12, r0 @ encoding
: [0x30,0x9f,0x1c,0x06]
2221 @
------------------------------------------------------------------------------
2223 @
------------------------------------------------------------------------------
2227 sbc
r7, r8, #(0xff << 16)
2228 sbc
r7, r8, #-2147483638
2233 sbc
r7, r8, (20 * 2), (1 << 1)
2235 sbc
r4, r5, r6, lsl
#5
2236 sbc
r4, r5, r6, lsr
#5
2237 sbc
r4, r5, r6, lsr
#5
2238 sbc
r4, r5, r6, asr
#5
2239 sbc
r4, r5, r6, ror
#5
2240 sbc
r6, r7, r8, lsl
r9
2241 sbc
r6, r7, r8, lsr
r9
2242 sbc
r6, r7, r8, asr
r9
2243 sbc
r6, r7, r8, ror
r9
2245 @ destination register is optional
2249 sbc
r7, #(0xff << 16)
2250 sbc
r7, #-2147483638
2255 sbc
r7, (20 * 2), (1 << 1)
2267 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2268 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2269 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2270 @ CHECK
: sbc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xc8,0xe2]
2271 @ CHECK
: sbc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2]
2272 @ CHECK
: sbc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2]
2273 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2274 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2275 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2276 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2277 @ CHECK
: sbc
r4, r5, r6 @ encoding
: [0x06,0x40,0xc5,0xe0]
2278 @ CHECK
: sbc
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0xc5,0xe0]
2279 @ CHECK
: sbc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xc5,0xe0]
2280 @ CHECK
: sbc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xc5,0xe0]
2281 @ CHECK
: sbc
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0xc5,0xe0]
2282 @ CHECK
: sbc
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0xc5,0xe0]
2283 @ CHECK
: sbc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xc7,0xe0]
2284 @ CHECK
: sbc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xc7,0xe0]
2285 @ CHECK
: sbc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xc7,0xe0]
2286 @ CHECK
: sbc
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xc7,0xe0]
2288 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2289 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2290 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2291 @ CHECK
: sbc
r7, r7, #16711680 @ encoding: [0xff,0x78,0xc7,0xe2]
2292 @ CHECK
: sbc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2]
2293 @ CHECK
: sbc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2]
2294 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2295 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2296 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2297 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2298 @ CHECK
: sbc
r4, r4, r5 @ encoding
: [0x05,0x40,0xc4,0xe0]
2299 @ CHECK
: sbc
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0xc4,0xe0]
2300 @ CHECK
: sbc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xc4,0xe0]
2301 @ CHECK
: sbc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xc4,0xe0]
2302 @ CHECK
: sbc
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0xc4,0xe0]
2303 @ CHECK
: sbc
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0xc4,0xe0]
2304 @ CHECK
: sbc
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xc6,0xe0]
2305 @ CHECK
: sbc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xc6,0xe0]
2306 @ CHECK
: sbc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xc6,0xe0]
2307 @ CHECK
: sbc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xc6,0xe0]
2310 @
------------------------------------------------------------------------------
2312 @
------------------------------------------------------------------------------
2313 sbfx
r4, r5, #16, #1
2314 sbfxgt
r4, r5, #16, #16
2316 @ CHECK
: sbfx
r4, r5, #16, #1 @ encoding: [0x55,0x48,0xa0,0xe7]
2317 @ CHECK
: sbfxgt
r4, r5, #16, #16 @ encoding: [0x55,0x48,0xaf,0xc7]
2320 @
------------------------------------------------------------------------------
2322 @
------------------------------------------------------------------------------
2326 @ CHECK
: sel
r9, r2, r1 @ encoding
: [0xb1,0x9f,0x82,0xe6]
2327 @ CHECK
: selne
r9, r2, r1 @ encoding
: [0xb1,0x9f,0x82,0x16]
2330 @
------------------------------------------------------------------------------
2332 @
------------------------------------------------------------------------------
2338 @ CHECK
: setend
be @ encoding
: [0x00,0x02,0x01,0xf1]
2339 @ CHECK
: setend
be @ encoding
: [0x00,0x02,0x01,0xf1]
2340 @ CHECK
: setend le @ encoding
: [0x00,0x00,0x01,0xf1]
2341 @ CHECK
: setend le @ encoding
: [0x00,0x00,0x01,0xf1]
2344 @
------------------------------------------------------------------------------
2346 @
------------------------------------------------------------------------------
2350 @ CHECK
: sev @ encoding
: [0x04,0xf0,0x20,0xe3]
2351 @ CHECK
: seveq @ encoding
: [0x04,0xf0,0x20,0x03]
2354 @
------------------------------------------------------------------------------
2356 @
------------------------------------------------------------------------------
2358 shadd16gt
r4, r8, r2
2362 @ CHECK
: shadd16
r4, r8, r2 @ encoding
: [0x12,0x4f,0x38,0xe6]
2363 @ CHECK
: shadd16gt
r4, r8, r2 @ encoding
: [0x12,0x4f,0x38,0xc6]
2364 @ CHECK
: shadd8
r4, r8, r2 @ encoding
: [0x92,0x4f,0x38,0xe6]
2365 @ CHECK
: shadd8gt
r4, r8, r2 @ encoding
: [0x92,0x4f,0x38,0xc6]
2368 @
------------------------------------------------------------------------------
2370 @
------------------------------------------------------------------------------
2374 @ CHECK
: shasx
r4, r8, r2 @ encoding
: [0x32,0x4f,0x38,0xe6]
2375 @ CHECK
: shasxgt
r4, r8, r2 @ encoding
: [0x32,0x4f,0x38,0xc6]
2378 @
------------------------------------------------------------------------------
2380 @
------------------------------------------------------------------------------
2382 shsub16gt
r4, r8, r2
2386 @ CHECK
: shsub16
r4, r8, r2 @ encoding
: [0x72,0x4f,0x38,0xe6]
2387 @ CHECK
: shsub16gt
r4, r8, r2 @ encoding
: [0x72,0x4f,0x38,0xc6]
2388 @ CHECK
: shsub8
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x38,0xe6]
2389 @ CHECK
: shsub8gt
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x38,0xc6]
2391 @
------------------------------------------------------------------------------
2392 @ SMLABB
/SMLABT
/SMLATB
/SMLATT
2393 @
------------------------------------------------------------------------------
2394 smlabb
r3, r1, r9, r0
2395 smlabt
r5, r6, r4, r1
2396 smlatb
r4, r2, r3, r2
2397 smlatt
r8, r3, r8, r4
2398 smlabbge
r3, r1, r9, r0
2399 smlabtle
r5, r6, r4, r1
2400 smlatbne
r4, r2, r3, r2
2401 smlatteq
r8, r3, r8, r4
2403 @ CHECK
: smlabb
r3, r1, r9, r0 @ encoding
: [0x81,0x09,0x03,0xe1]
2404 @ CHECK
: smlabt
r5, r6, r4, r1 @ encoding
: [0xc6,0x14,0x05,0xe1]
2405 @ CHECK
: smlatb
r4, r2, r3, r2 @ encoding
: [0xa2,0x23,0x04,0xe1]
2406 @ CHECK
: smlatt
r8, r3, r8, r4 @ encoding
: [0xe3,0x48,0x08,0xe1]
2407 @ CHECK
: smlabbge
r3, r1, r9, r0 @ encoding
: [0x81,0x09,0x03,0xa1]
2408 @ CHECK
: smlabtle
r5, r6, r4, r1 @ encoding
: [0xc6,0x14,0x05,0xd1]
2409 @ CHECK
: smlatbne
r4, r2, r3, r2 @ encoding
: [0xa2,0x23,0x04,0x11]
2410 @ CHECK
: smlatteq
r8, r3, r8, r4 @ encoding
: [0xe3,0x48,0x08,0x01]
2412 @
------------------------------------------------------------------------------
2414 @
------------------------------------------------------------------------------
2415 smlad
r2, r3, r5, r8
2416 smladx
r2, r3, r5, r8
2417 smladeq
r2, r3, r5, r8
2418 smladxhi
r2, r3, r5, r8
2420 @ CHECK
: smlad
r2, r3, r5, r8 @ encoding
: [0x13,0x85,0x02,0xe7]
2421 @ CHECK
: smladx
r2, r3, r5, r8 @ encoding
: [0x33,0x85,0x02,0xe7]
2422 @ CHECK
: smladeq
r2, r3, r5, r8 @ encoding
: [0x13,0x85,0x02,0x07]
2423 @ CHECK
: smladxhi
r2, r3, r5, r8 @ encoding
: [0x33,0x85,0x02,0x87]
2426 @
------------------------------------------------------------------------------
2428 @
------------------------------------------------------------------------------
2429 smlal
r2, r3, r5, r8
2430 smlals
r2, r3, r5, r8
2431 smlaleq
r2, r3, r5, r8
2432 smlalshi
r2, r3, r5, r8
2434 @ CHECK
: smlal
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xe3,0xe0]
2435 @ CHECK
: smlals
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xf3,0xe0]
2436 @ CHECK
: smlaleq
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xe3,0x00]
2437 @ CHECK
: smlalshi
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xf3,0x80]
2440 @
------------------------------------------------------------------------------
2441 @ SMLALBB
/SMLALBT
/SMLALTB
/SMLALTT
2442 @
------------------------------------------------------------------------------
2443 smlalbb
r3, r1, r9, r0
2444 smlalbt
r5, r6, r4, r1
2445 smlaltb
r4, r2, r3, r2
2446 smlaltt
r8, r3, r8, r4
2447 smlalbbge
r3, r1, r9, r0
2448 smlalbtle
r5, r6, r4, r1
2449 smlaltbne
r4, r2, r3, r2
2450 smlaltteq
r8, r3, r8, r4
2452 @ CHECK
: smlalbb
r3, r1, r9, r0 @ encoding
: [0x89,0x30,0x41,0xe1]
2453 @ CHECK
: smlalbt
r5, r6, r4, r1 @ encoding
: [0xc4,0x51,0x46,0xe1]
2454 @ CHECK
: smlaltb
r4, r2, r3, r2 @ encoding
: [0xa3,0x42,0x42,0xe1]
2455 @ CHECK
: smlaltt
r8, r3, r8, r4 @ encoding
: [0xe8,0x84,0x43,0xe1]
2456 @ CHECK
: smlalbbge
r3, r1, r9, r0 @ encoding
: [0x89,0x30,0x41,0xa1]
2457 @ CHECK
: smlalbtle
r5, r6, r4, r1 @ encoding
: [0xc4,0x51,0x46,0xd1]
2458 @ CHECK
: smlaltbne
r4, r2, r3, r2 @ encoding
: [0xa3,0x42,0x42,0x11]
2459 @ CHECK
: smlaltteq
r8, r3, r8, r4 @ encoding
: [0xe8,0x84,0x43,0x01]
2462 @
------------------------------------------------------------------------------
2464 @
------------------------------------------------------------------------------
2465 smlald
r2, r3, r5, r8
2466 smlaldx
r2, r3, r5, r8
2467 smlaldeq
r2, r3, r5, r8
2468 smlaldxhi
r2, r3, r5, r8
2470 @ CHECK
: smlald
r2, r3, r5, r8 @ encoding
: [0x15,0x28,0x43,0xe7]
2471 @ CHECK
: smlaldx
r2, r3, r5, r8 @ encoding
: [0x35,0x28,0x43,0xe7]
2472 @ CHECK
: smlaldeq
r2, r3, r5, r8 @ encoding
: [0x15,0x28,0x43,0x07]
2473 @ CHECK
: smlaldxhi
r2, r3, r5, r8 @ encoding
: [0x35,0x28,0x43,0x87]
2476 @
------------------------------------------------------------------------------
2478 @
------------------------------------------------------------------------------
2479 smlawb
r2, r3, r10, r8
2480 smlawt
r8, r3, r5, r9
2481 smlawbeq
r2, r7, r5, r8
2482 smlawthi
r1, r3, r0, r8
2484 @ CHECK
: smlawb
r2, r3, r10, r8 @ encoding
: [0x83,0x8a,0x22,0xe1]
2485 @ CHECK
: smlawt
r8, r3, r5, r9 @ encoding
: [0xc3,0x95,0x28,0xe1]
2486 @ CHECK
: smlawbeq
r2, r7, r5, r8 @ encoding
: [0x87,0x85,0x22,0x01]
2487 @ CHECK
: smlawthi
r1, r3, r0, r8 @ encoding
: [0xc3,0x80,0x21,0x81]
2490 @
------------------------------------------------------------------------------
2492 @
------------------------------------------------------------------------------
2493 smlsd
r2, r3, r5, r8
2494 smlsdx
r2, r3, r5, r8
2495 smlsdeq
r2, r3, r5, r8
2496 smlsdxhi
r2, r3, r5, r8
2498 @ CHECK
: smlsd
r2, r3, r5, r8 @ encoding
: [0x53,0x85,0x02,0xe7]
2499 @ CHECK
: smlsdx
r2, r3, r5, r8 @ encoding
: [0x73,0x85,0x02,0xe7]
2500 @ CHECK
: smlsdeq
r2, r3, r5, r8 @ encoding
: [0x53,0x85,0x02,0x07]
2501 @ CHECK
: smlsdxhi
r2, r3, r5, r8 @ encoding
: [0x73,0x85,0x02,0x87]
2504 @
------------------------------------------------------------------------------
2506 @
------------------------------------------------------------------------------
2507 smlsld
r2, r9, r5, r1
2508 smlsldx
r4, r11, r2, r8
2509 smlsldeq
r8, r2, r5, r6
2510 smlsldxhi
r1, r0, r3, r8
2512 @ CHECK
: smlsld
r2, r9, r5, r1 @ encoding
: [0x55,0x21,0x49,0xe7]
2513 @ CHECK
: smlsldx
r4, r11, r2, r8 @ encoding
: [0x72,0x48,0x4b,0xe7]
2514 @ CHECK
: smlsldeq
r8, r2, r5, r6 @ encoding
: [0x55,0x86,0x42,0x07]
2515 @ CHECK
: smlsldxhi
r1, r0, r3, r8 @ encoding
: [0x73,0x18,0x40,0x87]
2518 @
------------------------------------------------------------------------------
2520 @
------------------------------------------------------------------------------
2521 smmla
r1, r2, r3, r4
2522 smmlar
r4, r3, r2, r1
2523 smmlalo
r1, r2, r3, r4
2524 smmlarcs
r4, r3, r2, r1
2526 @ CHECK
: smmla
r1, r2, r3, r4 @ encoding
: [0x12,0x43,0x51,0xe7]
2527 @ CHECK
: smmlar
r4, r3, r2, r1 @ encoding
: [0x33,0x12,0x54,0xe7]
2528 @ CHECK
: smmlalo
r1, r2, r3, r4 @ encoding
: [0x12,0x43,0x51,0x37]
2529 @ CHECK
: smmlarhs
r4, r3, r2, r1 @ encoding
: [0x33,0x12,0x54,0x27]
2532 @
------------------------------------------------------------------------------
2534 @
------------------------------------------------------------------------------
2535 smmls
r1, r2, r3, r4
2536 smmlsr
r4, r3, r2, r1
2537 smmlslo
r1, r2, r3, r4
2538 smmlsrcs
r4, r3, r2, r1
2540 @ CHECK
: smmls
r1, r2, r3, r4 @ encoding
: [0xd2,0x43,0x51,0xe7]
2541 @ CHECK
: smmlsr
r4, r3, r2, r1 @ encoding
: [0xf3,0x12,0x54,0xe7]
2542 @ CHECK
: smmlslo
r1, r2, r3, r4 @ encoding
: [0xd2,0x43,0x51,0x37]
2543 @ CHECK
: smmlsrhs
r4, r3, r2, r1 @ encoding
: [0xf3,0x12,0x54,0x27]
2546 @
------------------------------------------------------------------------------
2548 @
------------------------------------------------------------------------------
2554 @ CHECK
: smmul
r2, r3, r4 @ encoding
: [0x13,0xf4,0x52,0xe7]
2555 @ CHECK
: smmulr
r3, r2, r1 @ encoding
: [0x32,0xf1,0x53,0xe7]
2556 @ CHECK
: smmullo
r2, r3, r4 @ encoding
: [0x13,0xf4,0x52,0x37]
2557 @ CHECK
: smmulrhs
r3, r2, r1 @ encoding
: [0x32,0xf1,0x53,0x27]
2560 @
------------------------------------------------------------------------------
2562 @
------------------------------------------------------------------------------
2568 @ CHECK
: smuad
r2, r3, r4 @ encoding
: [0x13,0xf4,0x02,0xe7]
2569 @ CHECK
: smuadx
r3, r2, r1 @ encoding
: [0x32,0xf1,0x03,0xe7]
2570 @ CHECK
: smuadlt
r2, r3, r4 @ encoding
: [0x13,0xf4,0x02,0xb7]
2571 @ CHECK
: smuadxge
r3, r2, r1 @ encoding
: [0x32,0xf1,0x03,0xa7]
2574 @
------------------------------------------------------------------------------
2575 @ SMULBB
/SMULBT
/SMULTB
/SMULTT
2576 @
------------------------------------------------------------------------------
2586 @ CHECK
: smulbb
r3, r9, r0 @ encoding
: [0x89,0x00,0x63,0xe1]
2587 @ CHECK
: smulbt
r5, r4, r1 @ encoding
: [0xc4,0x01,0x65,0xe1]
2588 @ CHECK
: smultb
r4, r2, r2 @ encoding
: [0xa2,0x02,0x64,0xe1]
2589 @ CHECK
: smultt
r8, r3, r4 @ encoding
: [0xe3,0x04,0x68,0xe1]
2590 @ CHECK
: smulbbge
r1, r9, r0 @ encoding
: [0x89,0x00,0x61,0xa1]
2591 @ CHECK
: smulbtle
r5, r6, r4 @ encoding
: [0xc6,0x04,0x65,0xd1]
2592 @ CHECK
: smultbne
r2, r3, r2 @ encoding
: [0xa3,0x02,0x62,0x11]
2593 @ CHECK
: smultteq
r8, r3, r4 @ encoding
: [0xe3,0x04,0x68,0x01]
2596 @
------------------------------------------------------------------------------
2598 @
------------------------------------------------------------------------------
2599 smull
r3, r9, r0, r1
2600 smulls
r3, r9, r0, r2
2601 smulleq
r8, r3, r4, r5
2602 smullseq
r8, r3, r4, r3
2604 @ CHECK
: smull
r3, r9, r0, r1 @ encoding
: [0x90,0x31,0xc9,0xe0]
2605 @ CHECK
: smulls
r3, r9, r0, r2 @ encoding
: [0x90,0x32,0xd9,0xe0]
2606 @ CHECK
: smulleq
r8, r3, r4, r5 @ encoding
: [0x94,0x85,0xc3,0x00]
2607 @ CHECK
: smullseq
r8, r3, r4, r3 @ encoding
: [0x94,0x83,0xd3,0x00]
2610 @
------------------------------------------------------------------------------
2612 @
------------------------------------------------------------------------------
2616 @ CHECK
: smulwb
r3, r9, r0 @ encoding
: [0xa9,0x00,0x23,0xe1]
2617 @ CHECK
: smulwt
r3, r9, r2 @ encoding
: [0xe9,0x02,0x23,0xe1]
2620 @
------------------------------------------------------------------------------
2622 @
------------------------------------------------------------------------------
2628 @ CHECK
: smusd
r3, r0, r1 @ encoding
: [0x50,0xf1,0x03,0xe7]
2629 @ CHECK
: smusdx
r3, r9, r2 @ encoding
: [0x79,0xf2,0x03,0xe7]
2630 @ CHECK
: smusdeq
r8, r3, r2 @ encoding
: [0x53,0xf2,0x08,0x07]
2631 @ CHECK
: smusdxne
r7, r4, r3 @ encoding
: [0x74,0xf3,0x07,0x17]
2634 @
------------------------------------------------------------------------------
2636 @
------------------------------------------------------------------------------
2660 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2661 @ CHECK
: srsdb sp
, #1 @ encoding: [0x01,0x05,0x4d,0xf9]
2662 @ CHECK
: srsia sp
, #0 @ encoding: [0x00,0x05,0xcd,0xf8]
2663 @ CHECK
: srsib sp
, #15 @ encoding: [0x0f,0x05,0xcd,0xf9]
2665 @ CHECK
: srsda sp
!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8]
2666 @ CHECK
: srsdb sp
!, #19 @ encoding: [0x13,0x05,0x6d,0xf9]
2667 @ CHECK
: srsia sp
!, #2 @ encoding: [0x02,0x05,0xed,0xf8]
2668 @ CHECK
: srsib sp
!, #14 @ encoding: [0x0e,0x05,0xed,0xf9]
2670 @ CHECK
: srsib sp
, #11 @ encoding: [0x0b,0x05,0xcd,0xf9]
2671 @ CHECK
: srsia sp
, #10 @ encoding: [0x0a,0x05,0xcd,0xf8]
2672 @ CHECK
: srsdb sp
, #9 @ encoding: [0x09,0x05,0x4d,0xf9]
2673 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2675 @ CHECK
: srsib sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf9]
2676 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2677 @ CHECK
: srsdb sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf9]
2678 @ CHECK
: srsda sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf8]
2680 @ CHECK
: srsia sp
, #5 @ encoding: [0x05,0x05,0xcd,0xf8]
2681 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2683 @ Compatibility aliases.
2707 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2708 @ CHECK
: srsdb sp
, #1 @ encoding: [0x01,0x05,0x4d,0xf9]
2709 @ CHECK
: srsia sp
, #0 @ encoding: [0x00,0x05,0xcd,0xf8]
2710 @ CHECK
: srsib sp
, #15 @ encoding: [0x0f,0x05,0xcd,0xf9]
2711 @ CHECK
: srsda sp
!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8]
2712 @ CHECK
: srsdb sp
!, #19 @ encoding: [0x13,0x05,0x6d,0xf9]
2713 @ CHECK
: srsia sp
!, #2 @ encoding: [0x02,0x05,0xed,0xf8]
2714 @ CHECK
: srsib sp
!, #14 @ encoding: [0x0e,0x05,0xed,0xf9]
2715 @ CHECK
: srsib sp
, #11 @ encoding: [0x0b,0x05,0xcd,0xf9]
2716 @ CHECK
: srsia sp
, #10 @ encoding: [0x0a,0x05,0xcd,0xf8]
2717 @ CHECK
: srsdb sp
, #9 @ encoding: [0x09,0x05,0x4d,0xf9]
2718 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2719 @ CHECK
: srsib sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf9]
2720 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2721 @ CHECK
: srsdb sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf9]
2722 @ CHECK
: srsda sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf8]
2723 @ CHECK
: srsia sp
, #5 @ encoding: [0x05,0x05,0xcd,0xf8]
2724 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2727 @
------------------------------------------------------------------------------
2729 @
------------------------------------------------------------------------------
2731 ssat
r8, #1, r10, lsl #0
2732 ssat
r8, #1, r10, lsl #31
2733 ssat
r8, #1, r10, asr #32
2734 ssat
r8, #1, r10, asr #1
2736 @ CHECK
: ssat
r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6]
2737 @ CHECK
: ssat
r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6]
2738 @ CHECK
: ssat
r8, #1, r10, lsl #31 @ encoding: [0x9a,0x8f,0xa0,0xe6]
2739 @ CHECK
: ssat
r8, #1, r10, asr #32 @ encoding: [0x5a,0x80,0xa0,0xe6]
2740 @ CHECK
: ssat
r8, #1, r10, asr #1 @ encoding: [0xda,0x80,0xa0,0xe6]
2743 @
------------------------------------------------------------------------------
2745 @
------------------------------------------------------------------------------
2749 @ CHECK
: ssat16
r2, #1, r7 @ encoding: [0x37,0x2f,0xa0,0xe6]
2750 @ CHECK
: ssat16
r3, #16, r5 @ encoding: [0x35,0x3f,0xaf,0xe6]
2753 @
------------------------------------------------------------------------------
2755 @
------------------------------------------------------------------------------
2759 @ CHECK
: ssax
r2, r3, r4 @ encoding
: [0x54,0x2f,0x13,0xe6]
2760 @ CHECK
: ssaxlt
r2, r3, r4 @ encoding
: [0x54,0x2f,0x13,0xb6]
2762 @
------------------------------------------------------------------------------
2764 @
------------------------------------------------------------------------------
2770 @ CHECK
: ssub16
r1, r0, r6 @ encoding
: [0x76,0x1f,0x10,0xe6]
2771 @ CHECK
: ssub16ne
r5, r3, r2 @ encoding
: [0x72,0x5f,0x13,0x16]
2772 @ CHECK
: ssub8
r9, r2, r4 @ encoding
: [0xf4,0x9f,0x12,0xe6]
2773 @ CHECK
: ssub8eq
r5, r1, r2 @ encoding
: [0xf2,0x5f,0x11,0x06]
2775 @
------------------------------------------------------------------------------
2777 @
------------------------------------------------------------------------------
2778 stc2 p0
, c8
, [r1, #4]
2780 stc2 p2
, c6
, [r3, #-224]
2781 stc2 p3
, c5
, [r4, #-120]!
2782 stc2 p4
, c4
, [r5], #16
2783 stc2 p5
, c3
, [r6], #-72
2784 stc2l p6
, c2
, [r7, #4]
2786 stc2l p8
, c0
, [r9, #-224]
2787 stc2l p9
, c1
, [r10, #-120]!
2788 stc2l p0
, c2
, [r11], #16
2789 stc2l p1
, c3
, [r12], #-72
2791 stc p12
, c4
, [r0, #4]
2793 stc p14
, c6
, [r2, #-224]
2794 stc p15
, c7
, [r3, #-120]!
2795 stc p5
, c8
, [r4], #16
2796 stc p4
, c9
, [r5], #-72
2797 stcl p3
, c10
, [r6, #4]
2799 stcl p1
, c12
, [r8, #-224]
2800 stcl p0
, c13
, [r9, #-120]!
2801 stcl p6
, c14
, [r10], #16
2802 stcl p7
, c15
, [r11], #-72
2804 stclo p12
, c4
, [r0, #4]
2806 stccs p14
, c6
, [r2, #-224]
2807 stccc p15
, c7
, [r3, #-120]!
2808 stceq p5
, c8
, [r4], #16
2809 stcgt p4
, c9
, [r5], #-72
2810 stcllt p3
, c10
, [r6, #4]
2811 stclge p2
, c11
, [r7]
2812 stclle p1
, c12
, [r8, #-224]
2813 stclne p0
, c13
, [r9, #-120]!
2814 stcleq p6
, c14
, [r10], #16
2815 stclhi p7
, c15
, [r11], #-72
2817 stc2 p2
, c8
, [r1], { 25 }
2819 @ CHECK
: stc2 p0
, c8
, [r1, #4] @ encoding: [0x01,0x80,0x81,0xfd]
2820 @ CHECK
: stc2 p1
, c7
, [r2] @ encoding
: [0x00,0x71,0x82,0xfd]
2821 @ CHECK
: stc2 p2
, c6
, [r3, #-224] @ encoding: [0x38,0x62,0x03,0xfd]
2822 @ CHECK
: stc2 p3
, c5
, [r4, #-120]! @ encoding: [0x1e,0x53,0x24,0xfd]
2823 @ CHECK
: stc2 p4
, c4
, [r5], #16 @ encoding: [0x04,0x44,0xa5,0xfc]
2824 @ CHECK
: stc2 p5
, c3
, [r6], #-72 @ encoding: [0x12,0x35,0x26,0xfc]
2825 @ CHECK
: stc2l p6
, c2
, [r7, #4] @ encoding: [0x01,0x26,0xc7,0xfd]
2826 @ CHECK
: stc2l p7
, c1
, [r8] @ encoding
: [0x00,0x17,0xc8,0xfd]
2827 @ CHECK
: stc2l p8
, c0
, [r9, #-224] @ encoding: [0x38,0x08,0x49,0xfd]
2828 @ CHECK
: stc2l p9
, c1
, [r10, #-120]! @ encoding: [0x1e,0x19,0x6a,0xfd]
2829 @ CHECK
: stc2l p0
, c2
, [r11], #16 @ encoding: [0x04,0x20,0xeb,0xfc]
2830 @ CHECK
: stc2l p1
, c3
, [r12], #-72 @ encoding: [0x12,0x31,0x6c,0xfc]
2832 @ CHECK
: stc p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x80,0xed]
2833 @ CHECK
: stc p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x81,0xed]
2834 @ CHECK
: stc p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0xed]
2835 @ CHECK
: stc p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0xed]
2836 @ CHECK
: stc p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xa4,0xec]
2837 @ CHECK
: stc p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xec]
2838 @ CHECK
: stcl p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xed]
2839 @ CHECK
: stcl p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xc7,0xed]
2840 @ CHECK
: stcl p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xed]
2841 @ CHECK
: stcl p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0xed]
2842 @ CHECK
: stcl p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xea,0xec]
2843 @ CHECK
: stcl p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0xec]
2845 @ CHECK
: stclo p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x80,0x3d]
2846 @ CHECK
: stchi p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x81,0x8d]
2847 @ CHECK
: stchs p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0x2d]
2848 @ CHECK
: stclo p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0x3d]
2849 @ CHECK
: stceq p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xa4,0x0c]
2850 @ CHECK
: stcgt p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xcc]
2851 @ CHECK
: stcllt p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xbd]
2852 @ CHECK
: stclge p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xc7,0xad]
2853 @ CHECK
: stclle p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xdd]
2854 @ CHECK
: stclne p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0x1d]
2855 @ CHECK
: stcleq p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xea,0x0c]
2856 @ CHECK
: stclhi p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0x8c]
2858 @ CHECK
: stc2 p2
, c8
, [r1], {25} @ encoding
: [0x19,0x82,0x81,0xfc]
2861 @
------------------------------------------------------------------------------
2863 @
------------------------------------------------------------------------------
2864 stm r2, {r1,r3-
r6,sp
}
2865 stmia
r3, {r1,r3-
r6,lr}
2866 stmib
r4, {r1,r3-
r6,sp
}
2867 stmda
r5, {r1,r3-
r6,sp
}
2868 stmdb
r6, {r1,r3-
r6,r8}
2869 stmfd sp
, {r1,r3-
r6,sp
}
2872 stm r8!, {r1,r3-
r6,sp
}
2873 stmib
r9!, {r1,r3-
r6,sp
}
2874 stmda sp
!, {r1,r3-
r6}
2875 stmdb
r0!, {r1,r5,r7,sp
}
2877 @ CHECK
: stm r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x82,0xe8]
2878 @ CHECK
: stm r3, {r1, r3, r4, r5, r6, lr} @ encoding
: [0x7a,0x40,0x83,0xe8]
2879 @ CHECK
: stmib
r4, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x84,0xe9]
2880 @ CHECK
: stmda
r5, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x05,0xe8]
2881 @ CHECK
: stmdb
r6, {r1, r3, r4, r5, r6, r8} @ encoding
: [0x7a,0x01,0x06,0xe9]
2882 @ CHECK
: stmdb sp
, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x0d,0xe9]
2884 @ CHECK
: stm r8!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xa8,0xe8]
2885 @ CHECK
: stmib
r9!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xa9,0xe9]
2886 @ CHECK
: stmda sp
!, {r1, r3, r4, r5, r6} @ encoding
: [0x7a,0x00,0x2d,0xe8]
2887 @ CHECK
: stmdb
r0!, {r1, r5, r7, sp
} @ encoding
: [0xa2,0x20,0x20,0xe9]
2890 @
------------------------------------------------------------------------------
2891 @ STREX
/STREXB
/STREXH
/STREXD
2892 @
------------------------------------------------------------------------------
2896 strexd
r6, r2, r3, [r8]
2898 @ CHECK
: strexb
r1, r3, [r4] @ encoding
: [0x93,0x1f,0xc4,0xe1]
2899 @ CHECK
: strexh
r4, r2, [r5] @ encoding
: [0x92,0x4f,0xe5,0xe1]
2900 @ CHECK
: strex
r2, r1, [r7] @ encoding
: [0x91,0x2f,0x87,0xe1]
2901 @ CHECK
: strexd
r6, r2, r3, [r8] @ encoding
: [0x92,0x6f,0xa8,0xe1]
2903 @
------------------------------------------------------------------------------
2905 @
------------------------------------------------------------------------------
2906 strpl
r3, [r10, #-0]!
2907 strpl
r3, [r10, #0]!
2909 @ CHECK
: strpl
r3, [r10, #-0]! @ encoding: [0x00,0x30,0x2a,0x55]
2910 @ CHECK
: strpl
r3, [r10, #0]! @ encoding: [0x00,0x30,0xaa,0x55]
2912 @
------------------------------------------------------------------------------
2914 @
------------------------------------------------------------------------------
2918 sub r7, r8, #(0xff << 16)
2919 sub r7, r8, #-2147483638
2924 sub r7, r8, (20 * 2), (1 << 1)
2926 sub r4, r5, r6, lsl
#5
2927 sub r4, r5, r6, lsr
#5
2928 sub r4, r5, r6, lsr
#5
2929 sub r4, r5, r6, asr
#5
2930 sub r4, r5, r6, ror
#5
2931 sub r6, r7, r8, lsl
r9
2932 sub r6, r7, r8, lsr
r9
2933 sub r6, r7, r8, asr
r9
2934 sub r6, r7, r8, ror
r9
2936 @ destination register is optional
2940 sub r7, #(0xff << 16)
2941 sub r7, #-2147483638
2946 sub r7, (20 * 2), (1 << 1)
2958 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2959 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2960 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2961 @ CHECK
: sub r7, r8, #16711680 @ encoding: [0xff,0x78,0x48,0xe2]
2962 @ CHECK
: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2]
2963 @ CHECK
: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2]
2964 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2965 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2966 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2967 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2968 @ CHECK
: sub r4, r5, r6 @ encoding
: [0x06,0x40,0x45,0xe0]
2969 @ CHECK
: sub r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x45,0xe0]
2970 @ CHECK
: sub r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x45,0xe0]
2971 @ CHECK
: sub r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x45,0xe0]
2972 @ CHECK
: sub r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x45,0xe0]
2973 @ CHECK
: sub r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x45,0xe0]
2974 @ CHECK
: sub r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x47,0xe0]
2975 @ CHECK
: sub r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x47,0xe0]
2976 @ CHECK
: sub r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x47,0xe0]
2977 @ CHECK
: sub r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x47,0xe0]
2980 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2981 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2982 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2983 @ CHECK
: sub r7, r7, #16711680 @ encoding: [0xff,0x78,0x47,0xe2]
2984 @ CHECK
: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2]
2985 @ CHECK
: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2]
2986 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2987 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2
2988 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2989 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2990 @ CHECK
: sub r4, r4, r5 @ encoding
: [0x05,0x40,0x44,0xe0]
2991 @ CHECK
: sub r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x44,0xe0]
2992 @ CHECK
: sub r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x44,0xe0]
2993 @ CHECK
: sub r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x44,0xe0]
2994 @ CHECK
: sub r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x44,0xe0]
2995 @ CHECK
: sub r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x44,0xe0]
2996 @ CHECK
: sub r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x46,0xe0]
2997 @ CHECK
: sub r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x46,0xe0]
2998 @ CHECK
: sub r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x46,0xe0]
2999 @ CHECK
: sub r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x46,0xe0]
3001 @ Test right shift by
32, which is encoded as
0
3002 sub r3, r1, r2, lsr
#32
3003 sub r3, r1, r2, asr
#32
3004 @ CHECK
: sub r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x41,0xe0]
3005 @ CHECK
: sub r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x41,0xe0]
3007 @
------------------------------------------------------------------------------
3009 @
------------------------------------------------------------------------------
3010 subs
r7, r8, #16711680
3011 subs
r7, r8, $
16711680
3012 subs
r7, r8, 16711680
3013 subs
r7, r8, #(0xff << 16)
3014 subs
r7, r8, #-2147483638
3015 subs
r7, r8, #42, #2
3016 subs
r7, r8, #40, #2
3017 subs
r7, r8, $
40, $
2
3019 subs
r7, r8, (20 * 2), (1 << 1)
3021 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3022 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3023 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3024 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
3025 @ CHECK
: subs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2]
3026 @ CHECK
: subs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2]
3027 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3028 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3029 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3030 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3032 @
------------------------------------------------------------------------------
3034 @
------------------------------------------------------------------------------
3039 @ CHECK
: svc #16 @ encoding: [0x10,0x00,0x00,0xef]
3040 @ CHECK
: svc #0 @ encoding: [0x00,0x00,0x00,0xef]
3041 @ CHECK
: svc #16777215 @ encoding: [0xff,0xff,0xff,0xef]
3044 @
------------------------------------------------------------------------------
3046 @
------------------------------------------------------------------------------
3051 @ CHECK
: swp
r1, r2, [r3] @ encoding
: [0x92,0x10,0x03,0xe1]
3052 @ CHECK
: swp
r4, r4, [r6] @ encoding
: [0x94,0x40,0x06,0xe1]
3053 @ CHECK
: swpb
r5, r1, [r9] @ encoding
: [0x91,0x50,0x49,0xe1]
3056 @
------------------------------------------------------------------------------
3058 @
------------------------------------------------------------------------------
3060 sxtab
r4, r5, r6, ror
#0
3061 sxtablt
r6, r2, r9, ror
#8
3062 sxtab
r5, r1, r4, ror
#16
3063 sxtab
r7, r8, r3, ror
#24
3065 @ CHECK
: sxtab
r2, r3, r4 @ encoding
: [0x74,0x20,0xa3,0xe6]
3066 @ CHECK
: sxtab
r4, r5, r6 @ encoding
: [0x76,0x40,0xa5,0xe6]
3067 @ CHECK
: sxtablt
r6, r2, r9, ror
#8 @ encoding: [0x79,0x64,0xa2,0xb6]
3068 @ CHECK
: sxtab
r5, r1, r4, ror
#16 @ encoding: [0x74,0x58,0xa1,0xe6]
3069 @ CHECK
: sxtab
r7, r8, r3, ror
#24 @ encoding: [0x73,0x7c,0xa8,0xe6]
3072 @
------------------------------------------------------------------------------
3074 @
------------------------------------------------------------------------------
3075 sxtab16ge
r0, r1, r4
3076 sxtab16
r6, r2, r7, ror
#0
3077 sxtab16
r3, r5, r8, ror
#8
3078 sxtab16
r3, r2, r1, ror
#16
3079 sxtab16eq
r1, r2, r3, ror
#24
3081 @ CHECK
: sxtab16ge
r0, r1, r4 @ encoding
: [0x74,0x00,0x81,0xa6]
3082 @ CHECK
: sxtab16
r6, r2, r7 @ encoding
: [0x77,0x60,0x82,0xe6]
3083 @ CHECK
: sxtab16
r3, r5, r8, ror
#8 @ encoding: [0x78,0x34,0x85,0xe6]
3084 @ CHECK
: sxtab16
r3, r2, r1, ror
#16 @ encoding: [0x71,0x38,0x82,0xe6]
3085 @ CHECK
: sxtab16eq
r1, r2, r3, ror
#24 @ encoding: [0x73,0x1c,0x82,0x06]
3087 @
------------------------------------------------------------------------------
3089 @
------------------------------------------------------------------------------
3091 sxtahhi
r6, r1, r6, ror
#0
3092 sxtah
r3, r8, r3, ror
#8
3093 sxtahlo
r2, r2, r4, ror
#16
3094 sxtah
r9, r3, r3, ror
#24
3096 @ CHECK
: sxtah
r1, r3, r9 @ encoding
: [0x79,0x10,0xb3,0xe6]
3097 @ CHECK
: sxtahhi
r6, r1, r6 @ encoding
: [0x76,0x60,0xb1,0x86]
3098 @ CHECK
: sxtah
r3, r8, r3, ror
#8 @ encoding: [0x73,0x34,0xb8,0xe6]
3099 @ CHECK
: sxtahlo
r2, r2, r4, ror
#16 @ encoding: [0x74,0x28,0xb2,0x36]
3100 @ CHECK
: sxtah
r9, r3, r3, ror
#24 @ encoding: [0x73,0x9c,0xb3,0xe6]
3102 @
------------------------------------------------------------------------------
3104 @
------------------------------------------------------------------------------
3108 sxtbcc
r5, r1, ror
#16
3109 sxtb
r8, r3, ror
#24
3111 @ CHECK
: sxtbge
r2, r4 @ encoding
: [0x74,0x20,0xaf,0xa6]
3112 @ CHECK
: sxtb
r5, r6 @ encoding
: [0x76,0x50,0xaf,0xe6]
3113 @ CHECK
: sxtb
r6, r9, ror
#8 @ encoding: [0x79,0x64,0xaf,0xe6]
3114 @ CHECK
: sxtblo
r5, r1, ror
#16 @ encoding: [0x71,0x58,0xaf,0x36]
3115 @ CHECK
: sxtb
r8, r3, ror
#24 @ encoding: [0x73,0x8c,0xaf,0xe6]
3118 @
------------------------------------------------------------------------------
3120 @
------------------------------------------------------------------------------
3122 sxtb16
r6, r7, ror
#0
3123 sxtb16cs
r3, r5, ror
#8
3124 sxtb16
r3, r1, ror
#16
3125 sxtb16ge
r2, r3, ror
#24
3127 @ CHECK
: sxtb16
r1, r4 @ encoding
: [0x74,0x10,0x8f,0xe6]
3128 @ CHECK
: sxtb16
r6, r7 @ encoding
: [0x77,0x60,0x8f,0xe6]
3129 @ CHECK
: sxtb16hs
r3, r5, ror
#8 @ encoding: [0x75,0x34,0x8f,0x26]
3130 @ CHECK
: sxtb16
r3, r1, ror
#16 @ encoding: [0x71,0x38,0x8f,0xe6]
3131 @ CHECK
: sxtb16ge
r2, r3, ror
#24 @ encoding: [0x73,0x2c,0x8f,0xa6]
3134 @
------------------------------------------------------------------------------
3136 @
------------------------------------------------------------------------------
3140 sxthle
r2, r2, ror
#16
3141 sxth
r9, r3, ror
#24
3143 @ CHECK
: sxthne
r3, r9 @ encoding
: [0x79,0x30,0xbf,0x16]
3144 @ CHECK
: sxth
r1, r6 @ encoding
: [0x76,0x10,0xbf,0xe6]
3145 @ CHECK
: sxth
r3, r8, ror
#8 @ encoding: [0x78,0x34,0xbf,0xe6]
3146 @ CHECK
: sxthle
r2, r2, ror
#16 @ encoding: [0x72,0x28,0xbf,0xd6]
3147 @ CHECK
: sxth
r9, r3, ror
#24 @ encoding: [0x73,0x9c,0xbf,0xe6]
3150 @
------------------------------------------------------------------------------
3152 @
------------------------------------------------------------------------------
3156 teq r7, #(0xff << 16)
3157 teq r7, #-2147483638
3162 teq r7, (20 * 2), (1 << 1)
3174 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3175 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3176 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3177 @ CHECK
: teq r7, #16711680 @ encoding: [0xff,0x08,0x37,0xe3]
3178 @ CHECK
: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3]
3179 @ CHECK
: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3]
3180 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3181 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3182 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3183 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3184 @ CHECK
: teq r4, r5 @ encoding
: [0x05,0x00,0x34,0xe1]
3185 @ CHECK
: teq r4, r5, lsl
#5 @ encoding: [0x85,0x02,0x34,0xe1]
3186 @ CHECK
: teq r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x34,0xe1]
3187 @ CHECK
: teq r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x34,0xe1]
3188 @ CHECK
: teq r4, r5, asr
#5 @ encoding: [0xc5,0x02,0x34,0xe1]
3189 @ CHECK
: teq r4, r5, ror
#5 @ encoding: [0xe5,0x02,0x34,0xe1]
3190 @ CHECK
: teq r6, r7, lsl
r9 @ encoding
: [0x17,0x09,0x36,0xe1]
3191 @ CHECK
: teq r6, r7, lsr
r9 @ encoding
: [0x37,0x09,0x36,0xe1]
3192 @ CHECK
: teq r6, r7, asr
r9 @ encoding
: [0x57,0x09,0x36,0xe1]
3193 @ CHECK
: teq r6, r7, ror
r9 @ encoding
: [0x77,0x09,0x36,0xe1]
3196 @
------------------------------------------------------------------------------
3198 @
------------------------------------------------------------------------------
3202 tst
r7, #(0xff << 16)
3203 tst
r7, #-2147483638
3208 tst
r7, (20 * 2), (1 << 1)
3220 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3221 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3222 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3223 @ CHECK
: tst
r7, #16711680 @ encoding: [0xff,0x08,0x17,0xe3]
3224 @ CHECK
: tst
r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3]
3225 @ CHECK
: tst
r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3]
3226 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3227 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3228 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3229 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3230 @ CHECK
: tst
r4, r5 @ encoding
: [0x05,0x00,0x14,0xe1]
3231 @ CHECK
: tst
r4, r5, lsl
#5 @ encoding: [0x85,0x02,0x14,0xe1]
3232 @ CHECK
: tst
r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x14,0xe1]
3233 @ CHECK
: tst
r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x14,0xe1]
3234 @ CHECK
: tst
r4, r5, asr
#5 @ encoding: [0xc5,0x02,0x14,0xe1]
3235 @ CHECK
: tst
r4, r5, ror
#5 @ encoding: [0xe5,0x02,0x14,0xe1]
3236 @ CHECK
: tst
r6, r7, lsl
r9 @ encoding
: [0x17,0x09,0x16,0xe1]
3237 @ CHECK
: tst
r6, r7, lsr
r9 @ encoding
: [0x37,0x09,0x16,0xe1]
3238 @ CHECK
: tst
r6, r7, asr
r9 @ encoding
: [0x57,0x09,0x16,0xe1]
3239 @ CHECK
: tst
r6, r7, ror
r9 @ encoding
: [0x77,0x09,0x16,0xe1]
3242 @
------------------------------------------------------------------------------
3244 @
------------------------------------------------------------------------------
3250 @ CHECK
: uadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x52,0xe6]
3251 @ CHECK
: uadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x52,0xc6]
3252 @ CHECK
: uadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x52,0xe6]
3253 @ CHECK
: uadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x52,0xd6]
3256 @
------------------------------------------------------------------------------
3258 @
------------------------------------------------------------------------------
3262 @ CHECK
: uasx
r9, r12, r0 @ encoding
: [0x30,0x9f,0x5c,0xe6]
3263 @ CHECK
: uasxeq
r9, r12, r0 @ encoding
: [0x30,0x9f,0x5c,0x06]
3266 @
------------------------------------------------------------------------------
3268 @
------------------------------------------------------------------------------
3269 ubfx
r4, r5, #16, #1
3270 ubfxgt
r4, r5, #16, #16
3272 @ CHECK
: ubfx
r4, r5, #16, #1 @ encoding: [0x55,0x48,0xe0,0xe7]
3273 @ CHECK
: ubfxgt
r4, r5, #16, #16 @ encoding: [0x55,0x48,0xef,0xc7]
3276 @
------------------------------------------------------------------------------
3278 @
------------------------------------------------------------------------------
3280 uhadd16gt
r4, r8, r2
3284 @ CHECK
: uhadd16
r4, r8, r2 @ encoding
: [0x12,0x4f,0x78,0xe6]
3285 @ CHECK
: uhadd16gt
r4, r8, r2 @ encoding
: [0x12,0x4f,0x78,0xc6]
3286 @ CHECK
: uhadd8
r4, r8, r2 @ encoding
: [0x92,0x4f,0x78,0xe6]
3287 @ CHECK
: uhadd8gt
r4, r8, r2 @ encoding
: [0x92,0x4f,0x78,0xc6]
3290 @
------------------------------------------------------------------------------
3292 @
------------------------------------------------------------------------------
3296 @ CHECK
: uhasx
r4, r8, r2 @ encoding
: [0x32,0x4f,0x78,0xe6]
3297 @ CHECK
: uhasxgt
r4, r8, r2 @ encoding
: [0x32,0x4f,0x78,0xc6]
3300 @
------------------------------------------------------------------------------
3302 @
------------------------------------------------------------------------------
3304 uhsub16gt
r4, r8, r2
3308 @ CHECK
: uhsub16
r4, r8, r2 @ encoding
: [0x72,0x4f,0x78,0xe6]
3309 @ CHECK
: uhsub16gt
r4, r8, r2 @ encoding
: [0x72,0x4f,0x78,0xc6]
3310 @ CHECK
: uhsub8
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x78,0xe6]
3311 @ CHECK
: uhsub8gt
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x78,0xc6]
3314 @
------------------------------------------------------------------------------
3316 @
------------------------------------------------------------------------------
3317 umaal
r3, r4, r5, r6
3318 umaallt
r3, r4, r5, r6
3320 @ CHECK
: umaal
r3, r4, r5, r6 @ encoding
: [0x95,0x36,0x44,0xe0]
3321 @ CHECK
: umaallt
r3, r4, r5, r6 @ encoding
: [0x95,0x36,0x44,0xb0]
3324 @
------------------------------------------------------------------------------
3326 @
------------------------------------------------------------------------------
3327 umlal
r2, r4, r6, r8
3328 umlalgt
r6, r1, r2, r6
3329 umlals
r2, r9, r2, r3
3330 umlalseq
r3, r5, r1, r2
3332 @ CHECK
: umlal
r2, r4, r6, r8 @ encoding
: [0x96,0x28,0xa4,0xe0]
3333 @ CHECK
: umlalgt
r6, r1, r2, r6 @ encoding
: [0x92,0x66,0xa1,0xc0]
3334 @ CHECK
: umlals
r2, r9, r2, r3 @ encoding
: [0x92,0x23,0xb9,0xe0]
3335 @ CHECK
: umlalseq
r3, r5, r1, r2 @ encoding
: [0x91,0x32,0xb5,0x00]
3338 @
------------------------------------------------------------------------------
3340 @
------------------------------------------------------------------------------
3341 umull
r2, r4, r6, r8
3342 umullgt
r6, r1, r2, r6
3343 umulls
r2, r9, r2, r3
3344 umullseq
r3, r5, r1, r2
3346 @ CHECK
: umull
r2, r4, r6, r8 @ encoding
: [0x96,0x28,0x84,0xe0]
3347 @ CHECK
: umullgt
r6, r1, r2, r6 @ encoding
: [0x92,0x66,0x81,0xc0]
3348 @ CHECK
: umulls
r2, r9, r2, r3 @ encoding
: [0x92,0x23,0x99,0xe0]
3349 @ CHECK
: umullseq
r3, r5, r1, r2 @ encoding
: [0x91,0x32,0x95,0x00]
3352 @
------------------------------------------------------------------------------
3354 @
------------------------------------------------------------------------------
3356 uqadd16gt
r4, r7, r9
3361 @ CHECK
: uqadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x62,0xe6]
3362 @ CHECK
: uqadd16gt
r4, r7, r9 @ encoding
: [0x19,0x4f,0x67,0xc6]
3363 @ CHECK
: uqadd8
r3, r4, r8 @ encoding
: [0x98,0x3f,0x64,0xe6]
3364 @ CHECK
: uqadd8le
r8, r1, r2 @ encoding
: [0x92,0x8f,0x61,0xd6]
3367 @
------------------------------------------------------------------------------
3369 @
------------------------------------------------------------------------------
3373 @ CHECK
: uqasx
r2, r4, r1 @ encoding
: [0x31,0x2f,0x64,0xe6]
3374 @ CHECK
: uqasxhi
r5, r2, r9 @ encoding
: [0x39,0x5f,0x62,0x86]
3377 @
------------------------------------------------------------------------------
3379 @
------------------------------------------------------------------------------
3383 @ CHECK
: uqsax
r1, r3, r7 @ encoding
: [0x57,0x1f,0x63,0xe6]
3384 @ CHECK
: uqsax
r3, r6, r2 @ encoding
: [0x52,0x3f,0x66,0xe6]
3387 @
------------------------------------------------------------------------------
3389 @
------------------------------------------------------------------------------
3391 uqsub16gt
r3, r2, r5
3395 @ CHECK
: uqsub16
r1, r5, r3 @ encoding
: [0x73,0x1f,0x65,0xe6]
3396 @ CHECK
: uqsub16gt
r3, r2, r5 @ encoding
: [0x75,0x3f,0x62,0xc6]
3397 @ CHECK
: uqsub8
r2, r1, r4 @ encoding
: [0xf4,0x2f,0x61,0xe6]
3398 @ CHECK
: uqsub8le
r4, r6, r9 @ encoding
: [0xf9,0x4f,0x66,0xd6]
3401 @
------------------------------------------------------------------------------
3403 @
------------------------------------------------------------------------------
3406 usada8
r1, r5, r3, r7
3407 usada8gt
r3, r2, r5, r1
3409 @ CHECK
: usad8
r2, r1, r4 @ encoding
: [0x11,0xf4,0x82,0xe7]
3410 @ CHECK
: usad8le
r4, r6, r9 @ encoding
: [0x16,0xf9,0x84,0xd7]
3411 @ CHECK
: usada8
r1, r5, r3, r7 @ encoding
: [0x15,0x73,0x81,0xe7]
3412 @ CHECK
: usada8gt
r3, r2, r5, r1 @ encoding
: [0x12,0x15,0x83,0xc7]
3415 @
------------------------------------------------------------------------------
3417 @
------------------------------------------------------------------------------
3419 usat
r8, #4, r10, lsl #0
3420 usat
r8, #5, r10, lsl #31
3421 usat
r8, #31, r10, asr #32
3422 usat
r8, #16, r10, asr #1
3424 @ CHECK
: usat
r8, #1, r10 @ encoding: [0x1a,0x80,0xe1,0xe6]
3425 @ CHECK
: usat
r8, #4, r10 @ encoding: [0x1a,0x80,0xe4,0xe6]
3426 @ CHECK
: usat
r8, #5, r10, lsl #31 @ encoding: [0x9a,0x8f,0xe5,0xe6]
3427 @ CHECK
: usat
r8, #31, r10, asr #32 @ encoding: [0x5a,0x80,0xff,0xe6]
3428 @ CHECK
: usat
r8, #16, r10, asr #1 @ encoding: [0xda,0x80,0xf0,0xe6]
3431 @
------------------------------------------------------------------------------
3433 @
------------------------------------------------------------------------------
3437 @ CHECK
: usat16
r2, #2, r7 @ encoding: [0x37,0x2f,0xe2,0xe6]
3438 @ CHECK
: usat16
r3, #15, r5 @ encoding: [0x35,0x3f,0xef,0xe6]
3441 @
------------------------------------------------------------------------------
3443 @
------------------------------------------------------------------------------
3447 @ CHECK
: usax
r2, r3, r4 @ encoding
: [0x54,0x2f,0x53,0xe6]
3448 @ CHECK
: usaxne
r2, r3, r4 @ encoding
: [0x54,0x2f,0x53,0x16]
3450 @
------------------------------------------------------------------------------
3452 @
------------------------------------------------------------------------------
3458 @ CHECK
: usub16
r4, r2, r7 @ encoding
: [0x77,0x4f,0x52,0xe6]
3459 @ CHECK
: usub16hi
r1, r1, r3 @ encoding
: [0x73,0x1f,0x51,0x86]
3460 @ CHECK
: usub8
r1, r8, r5 @ encoding
: [0xf5,0x1f,0x58,0xe6]
3461 @ CHECK
: usub8le
r9, r2, r3 @ encoding
: [0xf3,0x9f,0x52,0xd6]
3464 @
------------------------------------------------------------------------------
3466 @
------------------------------------------------------------------------------
3468 uxtab
r4, r5, r6, ror
#0
3469 uxtablt
r6, r2, r9, ror
#8
3470 uxtab
r5, r1, r4, ror
#16
3471 uxtab
r7, r8, r3, ror
#24
3473 @ CHECK
: uxtab
r2, r3, r4 @ encoding
: [0x74,0x20,0xe3,0xe6]
3474 @ CHECK
: uxtab
r4, r5, r6 @ encoding
: [0x76,0x40,0xe5,0xe6]
3475 @ CHECK
: uxtablt
r6, r2, r9, ror
#8 @ encoding: [0x79,0x64,0xe2,0xb6]
3476 @ CHECK
: uxtab
r5, r1, r4, ror
#16 @ encoding: [0x74,0x58,0xe1,0xe6]
3477 @ CHECK
: uxtab
r7, r8, r3, ror
#24 @ encoding: [0x73,0x7c,0xe8,0xe6]
3480 @
------------------------------------------------------------------------------
3482 @
------------------------------------------------------------------------------
3483 uxtab16ge
r0, r1, r4
3484 uxtab16
r6, r2, r7, ror
#0
3485 uxtab16
r3, r5, r8, ror
#8
3486 uxtab16
r3, r2, r1, ror
#16
3487 uxtab16eq
r1, r2, r3, ror
#24
3489 @ CHECK
: uxtab16ge
r0, r1, r4 @ encoding
: [0x74,0x00,0xc1,0xa6]
3490 @ CHECK
: uxtab16
r6, r2, r7 @ encoding
: [0x77,0x60,0xc2,0xe6]
3491 @ CHECK
: uxtab16
r3, r5, r8, ror
#8 @ encoding: [0x78,0x34,0xc5,0xe6]
3492 @ CHECK
: uxtab16
r3, r2, r1, ror
#16 @ encoding: [0x71,0x38,0xc2,0xe6]
3493 @ CHECK
: uxtab16eq
r1, r2, r3, ror
#24 @ encoding: [0x73,0x1c,0xc2,0x06]
3496 @
------------------------------------------------------------------------------
3498 @
------------------------------------------------------------------------------
3500 uxtahhi
r6, r1, r6, ror
#0
3501 uxtah
r3, r8, r3, ror
#8
3502 uxtahlo
r2, r2, r4, ror
#16
3503 uxtah
r9, r3, r3, ror
#24
3505 @ CHECK
: uxtah
r1, r3, r9 @ encoding
: [0x79,0x10,0xf3,0xe6]
3506 @ CHECK
: uxtahhi
r6, r1, r6 @ encoding
: [0x76,0x60,0xf1,0x86]
3507 @ CHECK
: uxtah
r3, r8, r3, ror
#8 @ encoding: [0x73,0x34,0xf8,0xe6]
3508 @ CHECK
: uxtahlo
r2, r2, r4, ror
#16 @ encoding: [0x74,0x28,0xf2,0x36]
3509 @ CHECK
: uxtah
r9, r3, r3, ror
#24 @ encoding: [0x73,0x9c,0xf3,0xe6]
3511 @
------------------------------------------------------------------------------
3513 @
------------------------------------------------------------------------------
3517 uxtbcc
r5, r1, ror
#16
3518 uxtb
r8, r3, ror
#24
3520 @ CHECK
: uxtbge
r2, r4 @ encoding
: [0x74,0x20,0xef,0xa6]
3521 @ CHECK
: uxtb
r5, r6 @ encoding
: [0x76,0x50,0xef,0xe6]
3522 @ CHECK
: uxtb
r6, r9, ror
#8 @ encoding: [0x79,0x64,0xef,0xe6]
3523 @ CHECK
: uxtblo
r5, r1, ror
#16 @ encoding: [0x71,0x58,0xef,0x36]
3524 @ CHECK
: uxtb
r8, r3, ror
#24 @ encoding: [0x73,0x8c,0xef,0xe6]
3527 @
------------------------------------------------------------------------------
3529 @
------------------------------------------------------------------------------
3531 uxtb16
r6, r7, ror
#0
3532 uxtb16cs
r3, r5, ror
#8
3533 uxtb16
r3, r1, ror
#16
3534 uxtb16ge
r2, r3, ror
#24
3536 @ CHECK
: uxtb16
r1, r4 @ encoding
: [0x74,0x10,0xcf,0xe6]
3537 @ CHECK
: uxtb16
r6, r7 @ encoding
: [0x77,0x60,0xcf,0xe6]
3538 @ CHECK
: uxtb16hs
r3, r5, ror
#8 @ encoding: [0x75,0x34,0xcf,0x26]
3539 @ CHECK
: uxtb16
r3, r1, ror
#16 @ encoding: [0x71,0x38,0xcf,0xe6]
3540 @ CHECK
: uxtb16ge
r2, r3, ror
#24 @ encoding: [0x73,0x2c,0xcf,0xa6]
3543 @
------------------------------------------------------------------------------
3545 @
------------------------------------------------------------------------------
3549 uxthle
r2, r2, ror
#16
3550 uxth
r9, r3, ror
#24
3552 @ CHECK
: uxthne
r3, r9 @ encoding
: [0x79,0x30,0xff,0x16]
3553 @ CHECK
: uxth
r1, r6 @ encoding
: [0x76,0x10,0xff,0xe6]
3554 @ CHECK
: uxth
r3, r8, ror
#8 @ encoding: [0x78,0x34,0xff,0xe6]
3555 @ CHECK
: uxthle
r2, r2, ror
#16 @ encoding: [0x72,0x28,0xff,0xd6]
3556 @ CHECK
: uxth
r9, r3, ror
#24 @ encoding: [0x73,0x9c,0xff,0xe6]
3559 @
------------------------------------------------------------------------------
3561 @
------------------------------------------------------------------------------
3575 @ CHECK
: wfe @ encoding
: [0x02,0xf0,0x20,0xe3]
3576 @ CHECK
: wfehi @ encoding
: [0x02,0xf0,0x20,0x83]
3577 @ CHECK
: wfi @ encoding
: [0x03,0xf0,0x20,0xe3]
3578 @ CHECK
: wfilt @ encoding
: [0x03,0xf0,0x20,0xb3]
3579 @ CHECK
: yield @ encoding
: [0x01,0xf0,0x20,0xe3]
3580 @ CHECK
: yieldne @ encoding
: [0x01,0xf0,0x20,0x13]
3581 @ CHECK
: sev @ encoding
: [0x04,0xf0,0x20,0xe3]
3582 @ CHECK
: wfi @ encoding
: [0x03,0xf0,0x20,0xe3]
3583 @ CHECK
: wfe @ encoding
: [0x02,0xf0,0x20,0xe3]
3584 @ CHECK
: yield @ encoding
: [0x01,0xf0,0x20,0xe3]
3585 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
3586 @ CHECK
: hintgt
#239 @ encoding: [0xef,0xf0,0x20,0xc3]