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
1248 @ CHECK
: mcr p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xee]
1249 @ CHECK
: mcr2 p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0xfe]
1251 mcrls p7
, #1, r5, c1, c1, #4
1252 @ CHECK
: mcrls p7
, #1, r5, c1, c1, #4 @ encoding: [0x91,0x57,0x21,0x9e]
1254 @
------------------------------------------------------------------------------
1256 @
------------------------------------------------------------------------------
1257 mcrr p7
, #15, r5, r4, c1
1258 mcrr2 p7
, #15, r5, r4, c1
1260 @ CHECK
: mcrr p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xec]
1261 @ CHECK
: mcrr2 p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xfc]
1263 mcrrgt p7
, #15, r5, r4, c1
1264 @ CHECK
: mcrrgt p7
, #15, r5, r4, c1 @ encoding: [0xf1,0x57,0x44,0xcc]
1266 @
------------------------------------------------------------------------------
1268 @
------------------------------------------------------------------------------
1274 @ CHECK
: mla
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x21,0xe0]
1275 @ CHECK
: mlas
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x31,0xe0]
1276 @ CHECK
: mlane
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x21,0x10]
1277 @ CHECK
: mlasne
r1, r2, r3, r4 @ encoding
: [0x92,0x43,0x31,0x10]
1279 @
------------------------------------------------------------------------------
1281 @
------------------------------------------------------------------------------
1285 @ CHECK
: mls
r2, r5, r6, r3 @ encoding
: [0x95,0x36,0x62,0xe0]
1286 @ CHECK
: mlsne
r2, r5, r6, r3 @ encoding
: [0x95,0x36,0x62,0x10]
1288 @
------------------------------------------------------------------------------
1290 @
------------------------------------------------------------------------------
1299 mov
r7, #(0xff << 16)
1300 mov
r7, #-2147483638
1307 mov
r7, (2 * 20), (1 << 1)
1313 movseq
r5, #0xff0000
1315 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1316 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1317 @ CHECK
: mov
r3, #7 @ encoding: [0x07,0x30,0xa0,0xe3]
1318 @ CHECK
: mvn
r3, #6 @ encoding: [0x06,0x30,0xe0,0xe3]
1319 @ CHECK
: mov
r4, #4080 @ encoding: [0xff,0x4e,0xa0,0xe3]
1320 @ CHECK
: mov
r5, #16711680 @ encoding: [0xff,0x58,0xa0,0xe3]
1321 @ CHECK
: mov
r7, #42 @ encoding: [0x2a,0x70,0xa0,0xe3]
1322 @ CHECK
: mov
r7, #176160768 @ encoding: [0x2a,0x75,0xa0,0xe3]
1323 @ CHECK
: mov
r7, #16711680 @ encoding: [0xff,0x78,0xa0,0xe3]
1324 @ CHECK
: mov
r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3]
1325 @ CHECK
: mov
r7, #-2147483638 @ encoding: [0x2a,0x71,0xa0,0xe3]
1326 @ CHECK
: mov pc
, #2147483658 @ encoding: [0x2a,0xf1,0xa0,0xe3]
1327 @ CHECK
: mov
r7, #0, #2 @ encoding: [0x00,0x71,0xa0,0xe3]
1328 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1329 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1330 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1331 @ CHECK
: mov
r7, #40, #2 @ encoding: [0x28,0x71,0xa0,0xe3]
1332 @ CHECK
: mov
r7, #42, #30 @ encoding: [0x2a,0x7f,0xa0,0xe3]
1333 @ CHECK
: movw
r6, #65535 @ encoding: [0xff,0x6f,0x0f,0xe3]
1334 @ CHECK
: movw
r9, #65535 @ encoding: [0xff,0x9f,0x0f,0xe3]
1335 @ CHECK
: movs
r3, #7 @ encoding: [0x07,0x30,0xb0,0xe3]
1336 @ CHECK
: moveq
r4, #4080 @ encoding: [0xff,0x4e,0xa0,0x03]
1337 @ CHECK
: movseq
r5, #16711680 @ encoding: [0xff,0x58,0xb0,0x03]
1339 @
------------------------------------------------------------------------------
1341 @
------------------------------------------------------------------------------
1346 mov
r12, r8, lsl
#(2 - 2)
1347 lsl
r2, r3, #(2 - 2)
1348 mov
r12, r8, lsr
#(2 - 2)
1349 lsr
r2, r3, #(2 - 2)
1350 mov
r12, r8, asr
#(2 - 2)
1351 asr
r2, r3, #(2 - 2)
1352 mov
r12, r8, ror
#(2 - 2)
1353 ror
r2, r3, #(2 - 2)
1355 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1356 @ CHECK
: movs
r2, r3 @ encoding
: [0x03,0x20,0xb0,0xe1]
1357 @ CHECK
: moveq
r2, r3 @ encoding
: [0x03,0x20,0xa0,0x01]
1358 @ CHECK
: movseq
r2, r3 @ encoding
: [0x03,0x20,0xb0,0x01]
1359 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1360 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1361 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1362 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1363 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1364 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1365 @ CHECK
: mov
r12, r8 @ encoding
: [0x08,0xc0,0xa0,0xe1]
1366 @ CHECK
: mov
r2, r3 @ encoding
: [0x03,0x20,0xa0,0xe1]
1369 @
------------------------------------------------------------------------------
1371 @
------------------------------------------------------------------------------
1376 @ CHECK
: movt
r3, #7 @ encoding: [0x07,0x30,0x40,0xe3]
1377 @ CHECK
: movt
r6, #65535 @ encoding: [0xff,0x6f,0x4f,0xe3]
1378 @ CHECK
: movteq
r4, #4080 @ encoding: [0xf0,0x4f,0x40,0x03]
1381 @
------------------------------------------------------------------------------
1383 @
------------------------------------------------------------------------------
1384 mrc p14
, #0, r1, c1, c2, #4
1385 mrc p15
, #7, apsr_nzcv, c15, c6, #6
1386 mrc2 p14
, #0, r1, c1, c2, #4
1387 mrc2 p9
, #7, apsr_nzcv, c15, c0, #1
1389 @ CHECK
: mrc p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xee]
1390 @ CHECK
: mrc p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0xee]
1391 @ CHECK
: mrc2 p14
, #0, r1, c1, c2, #4 @ encoding: [0x92,0x1e,0x11,0xfe]
1392 @ CHECK
: mrc2 p9
, #7, apsr_nzcv, c15, c0, #1 @ encoding: [0x30,0xf9,0xff,0xfe]
1394 mrceq p15
, #7, apsr_nzcv, c15, c6, #6
1395 @ CHECK
: mrceq p15
, #7, apsr_nzcv, c15, c6, #6 @ encoding: [0xd6,0xff,0xff,0x0e]
1397 @
------------------------------------------------------------------------------
1399 @
------------------------------------------------------------------------------
1400 mrrc p7
, #1, r5, r4, c1
1401 mrrc2 p7
, #1, r5, r4, c1
1403 @ CHECK
: mrrc p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xec]
1404 @ CHECK
: mrrc2 p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0xfc]
1406 mrrclo p7
, #1, r5, r4, c1
1407 @ CHECK
: mrrclo p7
, #1, r5, r4, c1 @ encoding: [0x11,0x57,0x54,0x3c]
1409 @
------------------------------------------------------------------------------
1411 @
------------------------------------------------------------------------------
1415 @ CHECK
: mrs
r8, apsr @ encoding
: [0x00,0x80,0x0f,0xe1]
1416 @ CHECK
: mrs
r8, apsr @ encoding
: [0x00,0x80,0x0f,0xe1]
1417 @ CHECK
: mrs
r8, spsr @ encoding
: [0x00,0x80,0x4f,0xe1]
1421 @
------------------------------------------------------------------------------
1423 @
------------------------------------------------------------------------------
1441 msr apsr_nzcvqg
, #(0xff << 16)
1442 msr APSR_nzcvq
, #42, #2
1443 msr apsr_nzcvqg
, #2147483658
1444 msr SPSR_fsxc
, #40, #2
1445 msr SPSR_fsxc
, $
40, $
2
1446 msr SPSR_fsxc
, 40, 2
1447 msr SPSR_fsxc
, (2 * 20), (1 << 1)
1449 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1450 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1451 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1452 @ CHECK
: msr APSR_g
, #5 @ encoding: [0x05,0xf0,0x24,0xe3]
1453 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1454 @ CHECK
: msr APSR_nzcvq
, #5 @ encoding: [0x05,0xf0,0x28,0xe3]
1455 @ CHECK
: msr APSR_nzcvqg
, #5 @ encoding: [0x05,0xf0,0x2c,0xe3]
1456 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1457 @ CHECK
: msr CPSR_c
, #5 @ encoding: [0x05,0xf0,0x21,0xe3]
1458 @ CHECK
: msr CPSR_x
, #5 @ encoding: [0x05,0xf0,0x22,0xe3]
1459 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1460 @ CHECK
: msr CPSR_fc
, #5 @ encoding: [0x05,0xf0,0x29,0xe3]
1461 @ CHECK
: msr CPSR_fsx
, #5 @ encoding: [0x05,0xf0,0x2e,0xe3]
1462 @ CHECK
: msr SPSR_fc
, #5 @ encoding: [0x05,0xf0,0x69,0xe3]
1463 @ CHECK
: msr SPSR_fsxc
, #5 @ encoding: [0x05,0xf0,0x6f,0xe3]
1464 @ CHECK
: msr CPSR_fsxc
, #5 @ encoding: [0x05,0xf0,0x2f,0xe3]
1465 @ CHECK
: msr APSR_nzcvqg
, #16711680 @ encoding: [0xff,0xf8,0x2c,0xe3]
1466 @ CHECK
: msr APSR_nzcvq
, #2147483658 @ encoding: [0x2a,0xf1,0x28,0xe3]
1467 @ CHECK
: msr APSR_nzcvqg
, #2147483658 @ encoding: [0x2a,0xf1,0x2c,0xe3]
1468 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1469 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1470 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1471 @ CHECK
: msr SPSR_fsxc
, #40, #2 @ encoding: [0x28,0xf1,0x6f,0xe3]
1488 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1489 @ CHECK
: msr APSR_g
, r0 @ encoding
: [0x00,0xf0,0x24,0xe1]
1490 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1491 @ CHECK
: msr APSR_nzcvq
, r0 @ encoding
: [0x00,0xf0,0x28,0xe1]
1492 @ CHECK
: msr APSR_nzcvqg
, r0 @ encoding
: [0x00,0xf0,0x2c,0xe1]
1493 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1494 @ CHECK
: msr CPSR_c
, r0 @ encoding
: [0x00,0xf0,0x21,0xe1]
1495 @ CHECK
: msr CPSR_x
, r0 @ encoding
: [0x00,0xf0,0x22,0xe1]
1496 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1497 @ CHECK
: msr CPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x29,0xe1]
1498 @ CHECK
: msr CPSR_fsx
, r0 @ encoding
: [0x00,0xf0,0x2e,0xe1]
1499 @ CHECK
: msr SPSR_fc
, r0 @ encoding
: [0x00,0xf0,0x69,0xe1]
1500 @ CHECK
: msr SPSR_fsxc
, r0 @ encoding
: [0x00,0xf0,0x6f,0xe1]
1501 @ CHECK
: msr CPSR_fsxc
, r0 @ encoding
: [0x00,0xf0,0x2f,0xe1]
1503 @
------------------------------------------------------------------------------
1505 @
------------------------------------------------------------------------------
1512 @ CHECK
: mul r5, r6, r7 @ encoding
: [0x96,0x07,0x05,0xe0]
1513 @ CHECK
: muls r5, r6, r7 @ encoding
: [0x96,0x07,0x15,0xe0]
1514 @ CHECK
: mulgt
r5, r6, r7 @ encoding
: [0x96,0x07,0x05,0xc0]
1515 @ CHECK
: mulsle
r5, r6, r7 @ encoding
: [0x96,0x07,0x15,0xd0]
1518 @
------------------------------------------------------------------------------
1520 @
------------------------------------------------------------------------------
1525 mvn
r7, #~0xffffff00
1528 mvn
r7, #(0xff << 16)
1529 mvn
r7, #-2147483638
1534 mvn
r7, (2 * 20), (1 << 1)
1537 mvnseq
r5, #0xff0000
1539 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1540 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1541 @ CHECK
: mvn
r3, #7 @ encoding: [0x07,0x30,0xe0,0xe3]
1542 @ CHECK
: mov
r3, #6 @ encoding: [0x06,0x30,0xa0,0xe3]
1543 @ CHECK
: mvn
r7, #255 @ encoding: [0xff,0x70,0xe0,0xe3]
1544 @ CHECK
: mvn
r4, #4080 @ encoding: [0xff,0x4e,0xe0,0xe3]
1545 @ CHECK
: mvn
r5, #16711680 @ encoding: [0xff,0x58,0xe0,0xe3]
1546 @ CHECK
: mvn
r7, #16711680 @ encoding: [0xff,0x78,0xe0,0xe3]
1547 @ CHECK
: mvn
r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3]
1548 @ CHECK
: mvn
r7, #-2147483638 @ encoding: [0x2a,0x71,0xe0,0xe3]
1549 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1550 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1551 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1552 @ CHECK
: mvn
r7, #40, #2 @ encoding: [0x28,0x71,0xe0,0xe3]
1553 @ CHECK
: mvns
r3, #7 @ encoding: [0x07,0x30,0xf0,0xe3]
1554 @ CHECK
: mvneq
r4, #4080 @ encoding: [0xff,0x4e,0xe0,0x03]
1555 @ CHECK
: mvnseq
r5, #16711680 @ encoding: [0xff,0x58,0xf0,0x03]
1558 @
------------------------------------------------------------------------------
1560 @
------------------------------------------------------------------------------
1569 mvnseq
r2, r3, lsl
#10
1571 @ CHECK
: mvn
r2, r3 @ encoding
: [0x03,0x20,0xe0,0xe1]
1572 @ CHECK
: mvns
r2, r3 @ encoding
: [0x03,0x20,0xf0,0xe1]
1573 @ CHECK
: mvn
r5, r6, lsl
#19 @ encoding: [0x86,0x59,0xe0,0xe1]
1574 @ CHECK
: mvn
r5, r6, lsr
#9 @ encoding: [0xa6,0x54,0xe0,0xe1]
1575 @ CHECK
: mvn
r5, r6, asr
#4 @ encoding: [0x46,0x52,0xe0,0xe1]
1576 @ CHECK
: mvn
r5, r6, ror
#6 @ encoding: [0x66,0x53,0xe0,0xe1]
1577 @ CHECK
: mvn
r5, r6, rrx @ encoding
: [0x66,0x50,0xe0,0xe1]
1578 @ CHECK
: mvneq
r2, r3 @ encoding
: [0x03,0x20,0xe0,0x01]
1579 @ CHECK
: mvnseq
r2, r3, lsl
#10 @ encoding: [0x03,0x25,0xf0,0x01]
1582 @
------------------------------------------------------------------------------
1583 @ MVN
(shifted register
)
1584 @
------------------------------------------------------------------------------
1587 mvngt
r5, r6, asr
r7
1588 mvnslt
r5, r6, ror
r7
1590 @ CHECK
: mvn
r5, r6, lsl
r7 @ encoding
: [0x16,0x57,0xe0,0xe1]
1591 @ CHECK
: mvns
r5, r6, lsr
r7 @ encoding
: [0x36,0x57,0xf0,0xe1]
1592 @ CHECK
: mvngt
r5, r6, asr
r7 @ encoding
: [0x56,0x57,0xe0,0xc1]
1593 @ CHECK
: mvnslt
r5, r6, ror
r7 @ encoding
: [0x76,0x57,0xf0,0xb1]
1595 @
------------------------------------------------------------------------------
1597 @
------------------------------------------------------------------------------
1600 @ CHECK
: rsb
r5, r8, #0 @ encoding: [0x00,0x50,0x68,0xe2]
1603 @
------------------------------------------------------------------------------
1605 @
------------------------------------------------------------------------------
1610 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
1611 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
1612 @ CHECK
: nopgt @ encoding
: [0x00,0xf0,0x20,0xc3]
1615 @
------------------------------------------------------------------------------
1617 @
------------------------------------------------------------------------------
1621 orr
r7, r8, #(0xff << 16)
1622 orr
r7, r8, #-2147483638
1627 orr
r7, r8, (2 * 20), (1 << 1)
1629 orr
r4, r5, r6, lsl
#5
1630 orr
r4, r5, r6, lsr
#5
1631 orr
r4, r5, r6, lsr
#5
1632 orr
r4, r5, r6, asr
#5
1633 orr
r4, r5, r6, ror
#5
1634 orr
r6, r7, r8, lsl
r9
1635 orr
r6, r7, r8, lsr
r9
1636 orr
r6, r7, r8, asr
r9
1637 orr
r6, r7, r8, ror
r9
1640 @ destination register is optional
1645 orr
r7, #(0xff << 16)
1646 orr
r7, #-2147483638
1651 orr
r7, (2 * 20), (1 << 1)
1665 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1666 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1667 @ CHECK
: orr
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x85,0xe3]
1668 @ CHECK
: orr
r7, r8, #16711680 @ encoding: [0xff,0x78,0x88,0xe3]
1669 @ CHECK
: orr
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3]
1670 @ CHECK
: orr
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x88,0xe3]
1671 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1672 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1673 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1674 @ CHECK
: orr
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x88,0xe3]
1675 @ CHECK
: orr
r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0xe1]
1676 @ CHECK
: orr
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x85,0xe1]
1677 @ CHECK
: orr
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe1]
1678 @ CHECK
: orr
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x85,0xe1]
1679 @ CHECK
: orr
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x85,0xe1]
1680 @ CHECK
: orr
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x85,0xe1]
1681 @ CHECK
: orr
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x87,0xe1]
1682 @ CHECK
: orr
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x87,0xe1]
1683 @ CHECK
: orr
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x87,0xe1]
1684 @ CHECK
: orr
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0xe1]
1685 @ CHECK
: orr
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x85,0xe1]
1687 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1688 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1689 @ CHECK
: orr
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0xe3]
1690 @ CHECK
: orr
r7, r7, #16711680 @ encoding: [0xff,0x78,0x87,0xe3]
1691 @ CHECK
: orr
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3]
1692 @ CHECK
: orr
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x87,0xe3]
1693 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1694 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1695 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1696 @ CHECK
: orr
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x87,0xe3]
1697 @ CHECK
: orr
r4, r4, r5 @ encoding
: [0x05,0x40,0x84,0xe1]
1698 @ CHECK
: orr
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x84,0xe1]
1699 @ CHECK
: orr
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe1]
1700 @ CHECK
: orr
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x84,0xe1]
1701 @ CHECK
: orr
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x84,0xe1]
1702 @ CHECK
: orr
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x84,0xe1]
1703 @ CHECK
: orr
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x86,0xe1]
1704 @ CHECK
: orr
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x86,0xe1]
1705 @ CHECK
: orr
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0xe1]
1706 @ CHECK
: orr
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x86,0xe1]
1707 @ CHECK
: orr
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x84,0xe1]
1709 orrseq
r4, r5, #0xf000
1711 orrseq
r4, r5, r6, lsl
#5
1712 orrlo
r6, r7, r8, ror
r9
1713 orrshi
r4, r5, r6, rrx
1716 orrne
r6, r7, asr
r9
1717 orrslt
r6, r7, ror
r9
1720 @ CHECK
: orrseq
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x95,0x03]
1721 @ CHECK
: orrne
r4, r5, r6 @ encoding
: [0x06,0x40,0x85,0x11]
1722 @ CHECK
: orrseq
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x95,0x01]
1723 @ CHECK
: orrlo
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x87,0x31]
1724 @ CHECK
: orrshi
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x95,0x81]
1725 @ CHECK
: orrhs
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x85,0x23]
1726 @ CHECK
: orrseq
r4, r4, r5 @ encoding
: [0x05,0x40,0x94,0x01]
1727 @ CHECK
: orrne
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x86,0x11]
1728 @ CHECK
: orrslt
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x96,0xb1]
1729 @ CHECK
: orrsgt
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x94,0xc1]
1731 @ Test right shift by
32, which is encoded as
0
1732 orr
r3, r1, r2, lsr
#32
1733 orr
r3, r1, r2, asr
#32
1734 @ CHECK
: orr
r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x81,0xe1]
1735 @ CHECK
: orr
r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x81,0xe1]
1737 @
------------------------------------------------------------------------------
1739 @
------------------------------------------------------------------------------
1741 pkhbt
r2, r2, r3, lsl
#31
1742 pkhbt
r2, r2, r3, lsl
#0
1743 pkhbt
r2, r2, r3, lsl
#15
1746 pkhtb
r2, r2, r3, asr
#31
1747 pkhtb
r2, r2, r3, asr
#15
1749 @ CHECK
: pkhbt
r2, r2, r3 @ encoding
: [0x13,0x20,0x82,0xe6]
1750 @ CHECK
: pkhbt
r2, r2, r3, lsl
#31 @ encoding: [0x93,0x2f,0x82,0xe6]
1751 @ CHECK
: pkhbt
r2, r2, r3 @ encoding
: [0x13,0x20,0x82,0xe6]
1752 @ CHECK
: pkhbt
r2, r2, r3, lsl
#15 @ encoding: [0x93,0x27,0x82,0xe6]
1754 @ CHECK
: pkhbt
r2, r3, r2 @ encoding
: [0x12,0x20,0x83,0xe6]
1755 @ CHECK
: pkhtb
r2, r2, r3, asr
#31 @ encoding: [0xd3,0x2f,0x82,0xe6]
1756 @ CHECK
: pkhtb
r2, r2, r3, asr
#15 @ encoding: [0xd3,0x27,0x82,0xe6]
1758 @
------------------------------------------------------------------------------
1760 @
------------------------------------------------------------------------------
1761 @
------------------------------------------------------------------------------
1763 @
------------------------------------------------------------------------------
1766 @
------------------------------------------------------------------------------
1768 @
------------------------------------------------------------------------------
1770 pop
{r7, r8, r9, r10}
1772 @ CHECK
: pop
{r7} @ encoding
: [0x04,0x70,0x9d,0xe4]
1773 @ CHECK
: pop
{r7, r8, r9, r10} @ encoding
: [0x80,0x07,0xbd,0xe8]
1776 @
------------------------------------------------------------------------------
1778 @
------------------------------------------------------------------------------
1780 push
{r7, r8, r9, r10}
1782 @ CHECK
: push
{r7} @ encoding
: [0x04,0x70,0x2d,0xe5]
1783 @ CHECK
: push
{r7, r8, r9, r10} @ encoding
: [0x80,0x07,0x2d,0xe9]
1786 @
------------------------------------------------------------------------------
1788 @
------------------------------------------------------------------------------
1796 @ CHECK
: qadd
r1, r2, r3 @ encoding
: [0x52,0x10,0x03,0xe1]
1797 @ CHECK
: qaddne
r1, r2, r3 @ encoding
: [0x52,0x10,0x03,0x11]
1798 @ CHECK
: qadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x22,0xe6]
1799 @ CHECK
: qadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x22,0xc6]
1800 @ CHECK
: qadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x22,0xe6]
1801 @ CHECK
: qadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x22,0xd6]
1804 @
------------------------------------------------------------------------------
1806 @
------------------------------------------------------------------------------
1812 @ CHECK
: qdadd
r6, r7, r8 @ encoding
: [0x57,0x60,0x48,0xe1]
1813 @ CHECK
: qdaddhi
r6, r7, r8 @ encoding
: [0x57,0x60,0x48,0x81]
1814 @ CHECK
: qdsub
r6, r7, r8 @ encoding
: [0x57,0x60,0x68,0xe1]
1815 @ CHECK
: qdsubhi
r6, r7, r8 @ encoding
: [0x57,0x60,0x68,0x81]
1818 @
------------------------------------------------------------------------------
1820 @
------------------------------------------------------------------------------
1824 @ CHECK
: qsax
r9, r12, r0 @ encoding
: [0x50,0x9f,0x2c,0xe6]
1825 @ CHECK
: qsaxeq
r9, r12, r0 @ encoding
: [0x50,0x9f,0x2c,0x06]
1828 @
------------------------------------------------------------------------------
1830 @
------------------------------------------------------------------------------
1838 @ CHECK
: qsub
r1, r2, r3 @ encoding
: [0x52,0x10,0x23,0xe1]
1839 @ CHECK
: qsubne
r1, r2, r3 @ encoding
: [0x52,0x10,0x23,0x11]
1840 @ CHECK
: qsub16
r1, r2, r3 @ encoding
: [0x73,0x1f,0x22,0xe6]
1841 @ CHECK
: qsub16gt
r1, r2, r3 @ encoding
: [0x73,0x1f,0x22,0xc6]
1842 @ CHECK
: qsub8
r1, r2, r3 @ encoding
: [0xf3,0x1f,0x22,0xe6]
1843 @ CHECK
: qsub8le
r1, r2, r3 @ encoding
: [0xf3,0x1f,0x22,0xd6]
1846 @
------------------------------------------------------------------------------
1848 @
------------------------------------------------------------------------------
1852 @ CHECK
: rbit
r1, r2 @ encoding
: [0x32,0x1f,0xff,0xe6]
1853 @ CHECK
: rbitne
r1, r2 @ encoding
: [0x32,0x1f,0xff,0x16]
1856 @
------------------------------------------------------------------------------
1858 @
------------------------------------------------------------------------------
1866 @ CHECK
: rev
r1, r9 @ encoding
: [0x39,0x1f,0xbf,0xe6]
1867 @ CHECK
: revne
r1, r5 @ encoding
: [0x35,0x1f,0xbf,0x16]
1868 @ CHECK
: rev16
r8, r3 @ encoding
: [0xb3,0x8f,0xbf,0xe6]
1869 @ CHECK
: rev16ne
r12, r4 @ encoding
: [0xb4,0xcf,0xbf,0x16]
1870 @ CHECK
: revsh
r4, r9 @ encoding
: [0xb9,0x4f,0xff,0xe6]
1871 @ CHECK
: revshne
r9, r1 @ encoding
: [0xb1,0x9f,0xff,0x16]
1874 @
------------------------------------------------------------------------------
1876 @
------------------------------------------------------------------------------
1900 @ CHECK
: rfeda
r2 @ encoding
: [0x00,0x0a,0x12,0xf8]
1901 @ CHECK
: rfedb
r3 @ encoding
: [0x00,0x0a,0x13,0xf9]
1902 @ CHECK
: rfeia
r5 @ encoding
: [0x00,0x0a,0x95,0xf8]
1903 @ CHECK
: rfeib
r6 @ encoding
: [0x00,0x0a,0x96,0xf9]
1905 @ CHECK
: rfeda
r4! @ encoding
: [0x00,0x0a,0x34,0xf8]
1906 @ CHECK
: rfedb
r7! @ encoding
: [0x00,0x0a,0x37,0xf9]
1907 @ CHECK
: rfeia
r9! @ encoding
: [0x00,0x0a,0xb9,0xf8]
1908 @ CHECK
: rfeib
r8! @ encoding
: [0x00,0x0a,0xb8,0xf9]
1910 @ CHECK
: rfeda
r2 @ encoding
: [0x00,0x0a,0x12,0xf8]
1911 @ CHECK
: rfedb
r3 @ encoding
: [0x00,0x0a,0x13,0xf9]
1912 @ CHECK
: rfeia
r5 @ encoding
: [0x00,0x0a,0x95,0xf8]
1913 @ CHECK
: rfeib
r6 @ encoding
: [0x00,0x0a,0x96,0xf9]
1915 @ CHECK
: rfeda
r4! @ encoding
: [0x00,0x0a,0x34,0xf8]
1916 @ CHECK
: rfedb
r7! @ encoding
: [0x00,0x0a,0x37,0xf9]
1917 @ CHECK
: rfeia
r9! @ encoding
: [0x00,0x0a,0xb9,0xf8]
1918 @ CHECK
: rfeib
r8! @ encoding
: [0x00,0x0a,0xb8,0xf9]
1920 @ CHECK
: rfeia
r1 @ encoding
: [0x00,0x0a,0x91,0xf8]
1921 @ CHECK
: rfeia
r1! @ encoding
: [0x00,0x0a,0xb1,0xf8]
1924 @
------------------------------------------------------------------------------
1926 @
------------------------------------------------------------------------------
1932 @ CHECK
: ror
r2, r4, #31 @ encoding: [0xe4,0x2f,0xa0,0xe1]
1933 @ CHECK
: ror
r2, r4, #1 @ encoding: [0xe4,0x20,0xa0,0xe1]
1934 @ CHECK
: mov
r2, r4 @ encoding
: [0x04,0x20,0xa0,0xe1]
1935 @ CHECK
: ror
r4, r4, #1 @ encoding: [0xe4,0x40,0xa0,0xe1]
1938 @
------------------------------------------------------------------------------
1940 @
------------------------------------------------------------------------------
1944 rsb
r7, r8, #(0xff << 16)
1945 rsb
r7, r8, #-2147483638
1950 rsb
r7, r8, (2 * 20), (1 << 1)
1952 rsb
r4, r5, r6, lsl
#5
1953 rsblo
r4, r5, r6, lsr
#5
1954 rsb
r4, r5, r6, lsr
#5
1955 rsb
r4, r5, r6, asr
#5
1956 rsb
r4, r5, r6, ror
#5
1957 rsb
r6, r7, r8, lsl
r9
1958 rsb
r6, r7, r8, lsr
r9
1959 rsb
r6, r7, r8, asr
r9
1960 rsble
r6, r7, r8, ror
r9
1963 @ destination register is optional
1967 rsb
r7, #(0xff << 16)
1968 rsb
r7, #-2147483638
1973 rsb
r7, (2 * 20), (1 << 1)
1977 rsbne
r4, r5, lsr
#5
1980 rsbgt
r6, r7, lsl
r9
1986 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
1987 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
1988 @ CHECK
: rsb
r4, r5, #61440 @ encoding: [0x0f,0x4a,0x65,0xe2]
1989 @ CHECK
: rsb
r7, r8, #16711680 @ encoding: [0xff,0x78,0x68,0xe2]
1990 @ CHECK
: rsb
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2]
1991 @ CHECK
: rsb
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x68,0xe2]
1992 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
1993 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
1994 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
1995 @ CHECK
: rsb
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x68,0xe2]
1996 @ CHECK
: rsb
r4, r5, r6 @ encoding
: [0x06,0x40,0x65,0xe0]
1997 @ CHECK
: rsb
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x65,0xe0]
1998 @ CHECK
: rsblo
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x65,0x30]
1999 @ CHECK
: rsb
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x65,0xe0]
2000 @ CHECK
: rsb
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x65,0xe0]
2001 @ CHECK
: rsb
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x65,0xe0]
2002 @ CHECK
: rsb
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x67,0xe0]
2003 @ CHECK
: rsb
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x67,0xe0]
2004 @ CHECK
: rsb
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x67,0xe0]
2005 @ CHECK
: rsble
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x67,0xd0]
2006 @ CHECK
: rsb
r4, r5, r6, rrx @ encoding
: [0x66,0x40,0x65,0xe0]
2008 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2009 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2010 @ CHECK
: rsb
r5, r5, #61440 @ encoding: [0x0f,0x5a,0x65,0xe2]
2011 @ CHECK
: rsb
r7, r7, #16711680 @ encoding: [0xff,0x78,0x67,0xe2]
2012 @ CHECK
: rsb
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2]
2013 @ CHECK
: rsb
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x67,0xe2]
2014 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2015 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2016 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2017 @ CHECK
: rsb
r7, r7, #40, #2 @ encoding: [0x28,0x71,0x67,0xe2]
2018 @ CHECK
: rsb
r4, r4, r5 @ encoding
: [0x05,0x40,0x64,0xe0]
2019 @ CHECK
: rsb
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x64,0xe0]
2020 @ CHECK
: rsb
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x64,0xe0]
2021 @ CHECK
: rsbne
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x64,0x10]
2022 @ CHECK
: rsb
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x64,0xe0]
2023 @ CHECK
: rsb
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x64,0xe0]
2024 @ CHECK
: rsbgt
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x66,0xc0]
2025 @ CHECK
: rsb
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x66,0xe0]
2026 @ CHECK
: rsb
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x66,0xe0]
2027 @ CHECK
: rsb
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x66,0xe0]
2028 @ CHECK
: rsb
r4, r4, r5, rrx @ encoding
: [0x65,0x40,0x64,0xe0]
2030 @
------------------------------------------------------------------------------
2032 @
------------------------------------------------------------------------------
2036 rsbs
r7, #(0xff << 16)
2037 rsbs
r7, r8, #-2147483638
2038 rsbs
r7, r8, #42, #2
2039 rsbs
r7, r8, #40, #2
2040 rsbs
r7, r8, $
40, $
2
2042 rsbs
r7, r8, (2 * 20), (1 << 1)
2044 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2045 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2046 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2047 @ CHECK
: rsbs
r7, r7, #16711680 @ encoding: [0xff,0x78,0x77,0xe2]
2048 @ CHECK
: rsbs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2]
2049 @ CHECK
: rsbs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x78,0xe2]
2050 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2051 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2052 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2053 @ CHECK
: rsbs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x78,0xe2]
2055 @
------------------------------------------------------------------------------
2057 @
------------------------------------------------------------------------------
2061 rsc
r7, r8, #(0xff << 16)
2062 rsc
r7, r8, #-2147483638
2067 rsc
r7, r8, (2 * 20), (1 << 1)
2069 rsc
r4, r5, r6, lsl
#5
2070 rsclo
r4, r5, r6, lsr
#5
2071 rsc
r4, r5, r6, lsr
#5
2072 rsc
r4, r5, r6, asr
#5
2073 rsc
r4, r5, r6, ror
#5
2074 rsc
r6, r7, r8, lsl
r9
2075 rsc
r6, r7, r8, lsr
r9
2076 rsc
r6, r7, r8, asr
r9
2077 rscle
r6, r7, r8, ror
r9
2080 @ destination register is optional
2084 rsc
r7, #(0xff << 16)
2085 rsc
r7, #-2147483638
2090 rsc
r7, (2 * 20), (1 << 1)
2094 rscne
r4, r5, lsr
#5
2097 rscgt
r6, r7, lsl
r9
2102 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2103 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2104 @ CHECK
: rsc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xe5,0xe2]
2105 @ CHECK
: rsc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xe8,0xe2]
2106 @ CHECK
: rsc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2]
2107 @ CHECK
: rsc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xe8,0xe2]
2108 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2109 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2110 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2111 @ CHECK
: rsc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xe8,0xe2]
2112 @ CHECK
: rsc
r4, r5, r6 @ encoding
: [0x06,0x40,0xe5,0xe0]
2113 @ CHECK
: rsc
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0xe5,0xe0]
2114 @ CHECK
: rsclo
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xe5,0x30]
2115 @ CHECK
: rsc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xe5,0xe0]
2116 @ CHECK
: rsc
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0xe5,0xe0]
2117 @ CHECK
: rsc
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0xe5,0xe0]
2118 @ CHECK
: rsc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xe7,0xe0]
2119 @ CHECK
: rsc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xe7,0xe0]
2120 @ CHECK
: rsc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xe7,0xe0]
2121 @ CHECK
: rscle
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xe7,0xd0]
2122 @ CHECK
: rscs
r1, r8, #4064 @ encoding: [0xfe,0x1e,0xf8,0xe2]
2124 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2125 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2126 @ CHECK
: rsc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xe5,0xe2]
2127 @ CHECK
: rsc
r7, r7, #16711680 @ encoding: [0xff,0x78,0xe7,0xe2]
2128 @ CHECK
: rsc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2]
2129 @ CHECK
: rsc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xe7,0xe2]
2130 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2131 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2132 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2133 @ CHECK
: rsc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xe7,0xe2]
2134 @ CHECK
: rsc
r4, r4, r5 @ encoding
: [0x05,0x40,0xe4,0xe0]
2135 @ CHECK
: rsc
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0xe4,0xe0]
2136 @ CHECK
: rsc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xe4,0xe0]
2137 @ CHECK
: rscne
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xe4,0x10]
2138 @ CHECK
: rsc
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0xe4,0xe0]
2139 @ CHECK
: rsc
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0xe4,0xe0]
2140 @ CHECK
: rscgt
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xe6,0xc0]
2141 @ CHECK
: rsc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xe6,0xe0]
2142 @ CHECK
: rsc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xe6,0xe0]
2143 @ CHECK
: rsc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xe6,0xe0]
2145 @
------------------------------------------------------------------------------
2147 @
------------------------------------------------------------------------------
2154 @ CHECK
: rrx
r0, r1 @ encoding
: [0x61,0x00,0xa0,0xe1]
2155 @ CHECK
: rrx sp
, pc @ encoding
: [0x6f,0xd0,0xa0,0xe1]
2156 @ CHECK
: rrx pc
, lr @ encoding
: [0x6e,0xf0,0xa0,0xe1]
2157 @ CHECK
: rrx
lr, sp @ encoding
: [0x6d,0xe0,0xa0,0xe1]
2164 @CHECK
: rrxs
r0, r1 @ encoding
: [0x61,0x00,0xb0,0xe1]
2165 @CHECK
: rrxs sp
, pc @ encoding
: [0x6f,0xd0,0xb0,0xe1]
2166 @CHECK
: rrxs pc
, lr @ encoding
: [0x6e,0xf0,0xb0,0xe1]
2167 @CHECK
: rrxs
lr, sp @ encoding
: [0x6d,0xe0,0xb0,0xe1]
2169 @
------------------------------------------------------------------------------
2171 @
------------------------------------------------------------------------------
2177 @ CHECK
: sadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x12,0xe6]
2178 @ CHECK
: sadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x12,0xc6]
2179 @ CHECK
: sadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x12,0xe6]
2180 @ CHECK
: sadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x12,0xd6]
2183 @
------------------------------------------------------------------------------
2185 @
------------------------------------------------------------------------------
2189 @ CHECK
: sasx
r9, r12, r0 @ encoding
: [0x30,0x9f,0x1c,0xe6]
2190 @ CHECK
: sasxeq
r9, r12, r0 @ encoding
: [0x30,0x9f,0x1c,0x06]
2193 @
------------------------------------------------------------------------------
2195 @
------------------------------------------------------------------------------
2199 sbc
r7, r8, #(0xff << 16)
2200 sbc
r7, r8, #-2147483638
2205 sbc
r7, r8, (20 * 2), (1 << 1)
2207 sbc
r4, r5, r6, lsl
#5
2208 sbc
r4, r5, r6, lsr
#5
2209 sbc
r4, r5, r6, lsr
#5
2210 sbc
r4, r5, r6, asr
#5
2211 sbc
r4, r5, r6, ror
#5
2212 sbc
r6, r7, r8, lsl
r9
2213 sbc
r6, r7, r8, lsr
r9
2214 sbc
r6, r7, r8, asr
r9
2215 sbc
r6, r7, r8, ror
r9
2217 @ destination register is optional
2221 sbc
r7, #(0xff << 16)
2222 sbc
r7, #-2147483638
2227 sbc
r7, (20 * 2), (1 << 1)
2239 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2240 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2241 @ CHECK
: sbc
r4, r5, #61440 @ encoding: [0x0f,0x4a,0xc5,0xe2]
2242 @ CHECK
: sbc
r7, r8, #16711680 @ encoding: [0xff,0x78,0xc8,0xe2]
2243 @ CHECK
: sbc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2]
2244 @ CHECK
: sbc
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0xc8,0xe2]
2245 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2246 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2247 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2248 @ CHECK
: sbc
r7, r8, #40, #2 @ encoding: [0x28,0x71,0xc8,0xe2]
2249 @ CHECK
: sbc
r4, r5, r6 @ encoding
: [0x06,0x40,0xc5,0xe0]
2250 @ CHECK
: sbc
r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0xc5,0xe0]
2251 @ CHECK
: sbc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xc5,0xe0]
2252 @ CHECK
: sbc
r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0xc5,0xe0]
2253 @ CHECK
: sbc
r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0xc5,0xe0]
2254 @ CHECK
: sbc
r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0xc5,0xe0]
2255 @ CHECK
: sbc
r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0xc7,0xe0]
2256 @ CHECK
: sbc
r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0xc7,0xe0]
2257 @ CHECK
: sbc
r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0xc7,0xe0]
2258 @ CHECK
: sbc
r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0xc7,0xe0]
2260 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2261 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2262 @ CHECK
: sbc
r5, r5, #61440 @ encoding: [0x0f,0x5a,0xc5,0xe2]
2263 @ CHECK
: sbc
r7, r7, #16711680 @ encoding: [0xff,0x78,0xc7,0xe2]
2264 @ CHECK
: sbc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2]
2265 @ CHECK
: sbc
r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0xc7,0xe2]
2266 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2267 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2268 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2269 @ CHECK
: sbc
r7, r7, #40, #2 @ encoding: [0x28,0x71,0xc7,0xe2]
2270 @ CHECK
: sbc
r4, r4, r5 @ encoding
: [0x05,0x40,0xc4,0xe0]
2271 @ CHECK
: sbc
r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0xc4,0xe0]
2272 @ CHECK
: sbc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xc4,0xe0]
2273 @ CHECK
: sbc
r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0xc4,0xe0]
2274 @ CHECK
: sbc
r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0xc4,0xe0]
2275 @ CHECK
: sbc
r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0xc4,0xe0]
2276 @ CHECK
: sbc
r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0xc6,0xe0]
2277 @ CHECK
: sbc
r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0xc6,0xe0]
2278 @ CHECK
: sbc
r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0xc6,0xe0]
2279 @ CHECK
: sbc
r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0xc6,0xe0]
2282 @
------------------------------------------------------------------------------
2284 @
------------------------------------------------------------------------------
2285 sbfx
r4, r5, #16, #1
2286 sbfxgt
r4, r5, #16, #16
2288 @ CHECK
: sbfx
r4, r5, #16, #1 @ encoding: [0x55,0x48,0xa0,0xe7]
2289 @ CHECK
: sbfxgt
r4, r5, #16, #16 @ encoding: [0x55,0x48,0xaf,0xc7]
2292 @
------------------------------------------------------------------------------
2294 @
------------------------------------------------------------------------------
2298 @ CHECK
: sel
r9, r2, r1 @ encoding
: [0xb1,0x9f,0x82,0xe6]
2299 @ CHECK
: selne
r9, r2, r1 @ encoding
: [0xb1,0x9f,0x82,0x16]
2302 @
------------------------------------------------------------------------------
2304 @
------------------------------------------------------------------------------
2310 @ CHECK
: setend
be @ encoding
: [0x00,0x02,0x01,0xf1]
2311 @ CHECK
: setend
be @ encoding
: [0x00,0x02,0x01,0xf1]
2312 @ CHECK
: setend le @ encoding
: [0x00,0x00,0x01,0xf1]
2313 @ CHECK
: setend le @ encoding
: [0x00,0x00,0x01,0xf1]
2316 @
------------------------------------------------------------------------------
2318 @
------------------------------------------------------------------------------
2322 @ CHECK
: sev @ encoding
: [0x04,0xf0,0x20,0xe3]
2323 @ CHECK
: seveq @ encoding
: [0x04,0xf0,0x20,0x03]
2326 @
------------------------------------------------------------------------------
2328 @
------------------------------------------------------------------------------
2330 shadd16gt
r4, r8, r2
2334 @ CHECK
: shadd16
r4, r8, r2 @ encoding
: [0x12,0x4f,0x38,0xe6]
2335 @ CHECK
: shadd16gt
r4, r8, r2 @ encoding
: [0x12,0x4f,0x38,0xc6]
2336 @ CHECK
: shadd8
r4, r8, r2 @ encoding
: [0x92,0x4f,0x38,0xe6]
2337 @ CHECK
: shadd8gt
r4, r8, r2 @ encoding
: [0x92,0x4f,0x38,0xc6]
2340 @
------------------------------------------------------------------------------
2342 @
------------------------------------------------------------------------------
2346 @ CHECK
: shasx
r4, r8, r2 @ encoding
: [0x32,0x4f,0x38,0xe6]
2347 @ CHECK
: shasxgt
r4, r8, r2 @ encoding
: [0x32,0x4f,0x38,0xc6]
2350 @
------------------------------------------------------------------------------
2352 @
------------------------------------------------------------------------------
2354 shsub16gt
r4, r8, r2
2358 @ CHECK
: shsub16
r4, r8, r2 @ encoding
: [0x72,0x4f,0x38,0xe6]
2359 @ CHECK
: shsub16gt
r4, r8, r2 @ encoding
: [0x72,0x4f,0x38,0xc6]
2360 @ CHECK
: shsub8
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x38,0xe6]
2361 @ CHECK
: shsub8gt
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x38,0xc6]
2363 @
------------------------------------------------------------------------------
2364 @ SMLABB
/SMLABT
/SMLATB
/SMLATT
2365 @
------------------------------------------------------------------------------
2366 smlabb
r3, r1, r9, r0
2367 smlabt
r5, r6, r4, r1
2368 smlatb
r4, r2, r3, r2
2369 smlatt
r8, r3, r8, r4
2370 smlabbge
r3, r1, r9, r0
2371 smlabtle
r5, r6, r4, r1
2372 smlatbne
r4, r2, r3, r2
2373 smlatteq
r8, r3, r8, r4
2375 @ CHECK
: smlabb
r3, r1, r9, r0 @ encoding
: [0x81,0x09,0x03,0xe1]
2376 @ CHECK
: smlabt
r5, r6, r4, r1 @ encoding
: [0xc6,0x14,0x05,0xe1]
2377 @ CHECK
: smlatb
r4, r2, r3, r2 @ encoding
: [0xa2,0x23,0x04,0xe1]
2378 @ CHECK
: smlatt
r8, r3, r8, r4 @ encoding
: [0xe3,0x48,0x08,0xe1]
2379 @ CHECK
: smlabbge
r3, r1, r9, r0 @ encoding
: [0x81,0x09,0x03,0xa1]
2380 @ CHECK
: smlabtle
r5, r6, r4, r1 @ encoding
: [0xc6,0x14,0x05,0xd1]
2381 @ CHECK
: smlatbne
r4, r2, r3, r2 @ encoding
: [0xa2,0x23,0x04,0x11]
2382 @ CHECK
: smlatteq
r8, r3, r8, r4 @ encoding
: [0xe3,0x48,0x08,0x01]
2384 @
------------------------------------------------------------------------------
2386 @
------------------------------------------------------------------------------
2387 smlad
r2, r3, r5, r8
2388 smladx
r2, r3, r5, r8
2389 smladeq
r2, r3, r5, r8
2390 smladxhi
r2, r3, r5, r8
2392 @ CHECK
: smlad
r2, r3, r5, r8 @ encoding
: [0x13,0x85,0x02,0xe7]
2393 @ CHECK
: smladx
r2, r3, r5, r8 @ encoding
: [0x33,0x85,0x02,0xe7]
2394 @ CHECK
: smladeq
r2, r3, r5, r8 @ encoding
: [0x13,0x85,0x02,0x07]
2395 @ CHECK
: smladxhi
r2, r3, r5, r8 @ encoding
: [0x33,0x85,0x02,0x87]
2398 @
------------------------------------------------------------------------------
2400 @
------------------------------------------------------------------------------
2401 smlal
r2, r3, r5, r8
2402 smlals
r2, r3, r5, r8
2403 smlaleq
r2, r3, r5, r8
2404 smlalshi
r2, r3, r5, r8
2406 @ CHECK
: smlal
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xe3,0xe0]
2407 @ CHECK
: smlals
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xf3,0xe0]
2408 @ CHECK
: smlaleq
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xe3,0x00]
2409 @ CHECK
: smlalshi
r2, r3, r5, r8 @ encoding
: [0x95,0x28,0xf3,0x80]
2412 @
------------------------------------------------------------------------------
2413 @ SMLALBB
/SMLALBT
/SMLALTB
/SMLALTT
2414 @
------------------------------------------------------------------------------
2415 smlalbb
r3, r1, r9, r0
2416 smlalbt
r5, r6, r4, r1
2417 smlaltb
r4, r2, r3, r2
2418 smlaltt
r8, r3, r8, r4
2419 smlalbbge
r3, r1, r9, r0
2420 smlalbtle
r5, r6, r4, r1
2421 smlaltbne
r4, r2, r3, r2
2422 smlaltteq
r8, r3, r8, r4
2424 @ CHECK
: smlalbb
r3, r1, r9, r0 @ encoding
: [0x89,0x30,0x41,0xe1]
2425 @ CHECK
: smlalbt
r5, r6, r4, r1 @ encoding
: [0xc4,0x51,0x46,0xe1]
2426 @ CHECK
: smlaltb
r4, r2, r3, r2 @ encoding
: [0xa3,0x42,0x42,0xe1]
2427 @ CHECK
: smlaltt
r8, r3, r8, r4 @ encoding
: [0xe8,0x84,0x43,0xe1]
2428 @ CHECK
: smlalbbge
r3, r1, r9, r0 @ encoding
: [0x89,0x30,0x41,0xa1]
2429 @ CHECK
: smlalbtle
r5, r6, r4, r1 @ encoding
: [0xc4,0x51,0x46,0xd1]
2430 @ CHECK
: smlaltbne
r4, r2, r3, r2 @ encoding
: [0xa3,0x42,0x42,0x11]
2431 @ CHECK
: smlaltteq
r8, r3, r8, r4 @ encoding
: [0xe8,0x84,0x43,0x01]
2434 @
------------------------------------------------------------------------------
2436 @
------------------------------------------------------------------------------
2437 smlald
r2, r3, r5, r8
2438 smlaldx
r2, r3, r5, r8
2439 smlaldeq
r2, r3, r5, r8
2440 smlaldxhi
r2, r3, r5, r8
2442 @ CHECK
: smlald
r2, r3, r5, r8 @ encoding
: [0x15,0x28,0x43,0xe7]
2443 @ CHECK
: smlaldx
r2, r3, r5, r8 @ encoding
: [0x35,0x28,0x43,0xe7]
2444 @ CHECK
: smlaldeq
r2, r3, r5, r8 @ encoding
: [0x15,0x28,0x43,0x07]
2445 @ CHECK
: smlaldxhi
r2, r3, r5, r8 @ encoding
: [0x35,0x28,0x43,0x87]
2448 @
------------------------------------------------------------------------------
2450 @
------------------------------------------------------------------------------
2451 smlawb
r2, r3, r10, r8
2452 smlawt
r8, r3, r5, r9
2453 smlawbeq
r2, r7, r5, r8
2454 smlawthi
r1, r3, r0, r8
2456 @ CHECK
: smlawb
r2, r3, r10, r8 @ encoding
: [0x83,0x8a,0x22,0xe1]
2457 @ CHECK
: smlawt
r8, r3, r5, r9 @ encoding
: [0xc3,0x95,0x28,0xe1]
2458 @ CHECK
: smlawbeq
r2, r7, r5, r8 @ encoding
: [0x87,0x85,0x22,0x01]
2459 @ CHECK
: smlawthi
r1, r3, r0, r8 @ encoding
: [0xc3,0x80,0x21,0x81]
2462 @
------------------------------------------------------------------------------
2464 @
------------------------------------------------------------------------------
2465 smlsd
r2, r3, r5, r8
2466 smlsdx
r2, r3, r5, r8
2467 smlsdeq
r2, r3, r5, r8
2468 smlsdxhi
r2, r3, r5, r8
2470 @ CHECK
: smlsd
r2, r3, r5, r8 @ encoding
: [0x53,0x85,0x02,0xe7]
2471 @ CHECK
: smlsdx
r2, r3, r5, r8 @ encoding
: [0x73,0x85,0x02,0xe7]
2472 @ CHECK
: smlsdeq
r2, r3, r5, r8 @ encoding
: [0x53,0x85,0x02,0x07]
2473 @ CHECK
: smlsdxhi
r2, r3, r5, r8 @ encoding
: [0x73,0x85,0x02,0x87]
2476 @
------------------------------------------------------------------------------
2478 @
------------------------------------------------------------------------------
2479 smlsld
r2, r9, r5, r1
2480 smlsldx
r4, r11, r2, r8
2481 smlsldeq
r8, r2, r5, r6
2482 smlsldxhi
r1, r0, r3, r8
2484 @ CHECK
: smlsld
r2, r9, r5, r1 @ encoding
: [0x55,0x21,0x49,0xe7]
2485 @ CHECK
: smlsldx
r4, r11, r2, r8 @ encoding
: [0x72,0x48,0x4b,0xe7]
2486 @ CHECK
: smlsldeq
r8, r2, r5, r6 @ encoding
: [0x55,0x86,0x42,0x07]
2487 @ CHECK
: smlsldxhi
r1, r0, r3, r8 @ encoding
: [0x73,0x18,0x40,0x87]
2490 @
------------------------------------------------------------------------------
2492 @
------------------------------------------------------------------------------
2493 smmla
r1, r2, r3, r4
2494 smmlar
r4, r3, r2, r1
2495 smmlalo
r1, r2, r3, r4
2496 smmlarcs
r4, r3, r2, r1
2498 @ CHECK
: smmla
r1, r2, r3, r4 @ encoding
: [0x12,0x43,0x51,0xe7]
2499 @ CHECK
: smmlar
r4, r3, r2, r1 @ encoding
: [0x33,0x12,0x54,0xe7]
2500 @ CHECK
: smmlalo
r1, r2, r3, r4 @ encoding
: [0x12,0x43,0x51,0x37]
2501 @ CHECK
: smmlarhs
r4, r3, r2, r1 @ encoding
: [0x33,0x12,0x54,0x27]
2504 @
------------------------------------------------------------------------------
2506 @
------------------------------------------------------------------------------
2507 smmls
r1, r2, r3, r4
2508 smmlsr
r4, r3, r2, r1
2509 smmlslo
r1, r2, r3, r4
2510 smmlsrcs
r4, r3, r2, r1
2512 @ CHECK
: smmls
r1, r2, r3, r4 @ encoding
: [0xd2,0x43,0x51,0xe7]
2513 @ CHECK
: smmlsr
r4, r3, r2, r1 @ encoding
: [0xf3,0x12,0x54,0xe7]
2514 @ CHECK
: smmlslo
r1, r2, r3, r4 @ encoding
: [0xd2,0x43,0x51,0x37]
2515 @ CHECK
: smmlsrhs
r4, r3, r2, r1 @ encoding
: [0xf3,0x12,0x54,0x27]
2518 @
------------------------------------------------------------------------------
2520 @
------------------------------------------------------------------------------
2526 @ CHECK
: smmul
r2, r3, r4 @ encoding
: [0x13,0xf4,0x52,0xe7]
2527 @ CHECK
: smmulr
r3, r2, r1 @ encoding
: [0x32,0xf1,0x53,0xe7]
2528 @ CHECK
: smmullo
r2, r3, r4 @ encoding
: [0x13,0xf4,0x52,0x37]
2529 @ CHECK
: smmulrhs
r3, r2, r1 @ encoding
: [0x32,0xf1,0x53,0x27]
2532 @
------------------------------------------------------------------------------
2534 @
------------------------------------------------------------------------------
2540 @ CHECK
: smuad
r2, r3, r4 @ encoding
: [0x13,0xf4,0x02,0xe7]
2541 @ CHECK
: smuadx
r3, r2, r1 @ encoding
: [0x32,0xf1,0x03,0xe7]
2542 @ CHECK
: smuadlt
r2, r3, r4 @ encoding
: [0x13,0xf4,0x02,0xb7]
2543 @ CHECK
: smuadxge
r3, r2, r1 @ encoding
: [0x32,0xf1,0x03,0xa7]
2546 @
------------------------------------------------------------------------------
2547 @ SMULBB
/SMULBT
/SMULTB
/SMULTT
2548 @
------------------------------------------------------------------------------
2558 @ CHECK
: smulbb
r3, r9, r0 @ encoding
: [0x89,0x00,0x63,0xe1]
2559 @ CHECK
: smulbt
r5, r4, r1 @ encoding
: [0xc4,0x01,0x65,0xe1]
2560 @ CHECK
: smultb
r4, r2, r2 @ encoding
: [0xa2,0x02,0x64,0xe1]
2561 @ CHECK
: smultt
r8, r3, r4 @ encoding
: [0xe3,0x04,0x68,0xe1]
2562 @ CHECK
: smulbbge
r1, r9, r0 @ encoding
: [0x89,0x00,0x61,0xa1]
2563 @ CHECK
: smulbtle
r5, r6, r4 @ encoding
: [0xc6,0x04,0x65,0xd1]
2564 @ CHECK
: smultbne
r2, r3, r2 @ encoding
: [0xa3,0x02,0x62,0x11]
2565 @ CHECK
: smultteq
r8, r3, r4 @ encoding
: [0xe3,0x04,0x68,0x01]
2568 @
------------------------------------------------------------------------------
2570 @
------------------------------------------------------------------------------
2571 smull
r3, r9, r0, r1
2572 smulls
r3, r9, r0, r2
2573 smulleq
r8, r3, r4, r5
2574 smullseq
r8, r3, r4, r3
2576 @ CHECK
: smull
r3, r9, r0, r1 @ encoding
: [0x90,0x31,0xc9,0xe0]
2577 @ CHECK
: smulls
r3, r9, r0, r2 @ encoding
: [0x90,0x32,0xd9,0xe0]
2578 @ CHECK
: smulleq
r8, r3, r4, r5 @ encoding
: [0x94,0x85,0xc3,0x00]
2579 @ CHECK
: smullseq
r8, r3, r4, r3 @ encoding
: [0x94,0x83,0xd3,0x00]
2582 @
------------------------------------------------------------------------------
2584 @
------------------------------------------------------------------------------
2588 @ CHECK
: smulwb
r3, r9, r0 @ encoding
: [0xa9,0x00,0x23,0xe1]
2589 @ CHECK
: smulwt
r3, r9, r2 @ encoding
: [0xe9,0x02,0x23,0xe1]
2592 @
------------------------------------------------------------------------------
2594 @
------------------------------------------------------------------------------
2600 @ CHECK
: smusd
r3, r0, r1 @ encoding
: [0x50,0xf1,0x03,0xe7]
2601 @ CHECK
: smusdx
r3, r9, r2 @ encoding
: [0x79,0xf2,0x03,0xe7]
2602 @ CHECK
: smusdeq
r8, r3, r2 @ encoding
: [0x53,0xf2,0x08,0x07]
2603 @ CHECK
: smusdxne
r7, r4, r3 @ encoding
: [0x74,0xf3,0x07,0x17]
2606 @
------------------------------------------------------------------------------
2608 @
------------------------------------------------------------------------------
2632 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2633 @ CHECK
: srsdb sp
, #1 @ encoding: [0x01,0x05,0x4d,0xf9]
2634 @ CHECK
: srsia sp
, #0 @ encoding: [0x00,0x05,0xcd,0xf8]
2635 @ CHECK
: srsib sp
, #15 @ encoding: [0x0f,0x05,0xcd,0xf9]
2637 @ CHECK
: srsda sp
!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8]
2638 @ CHECK
: srsdb sp
!, #19 @ encoding: [0x13,0x05,0x6d,0xf9]
2639 @ CHECK
: srsia sp
!, #2 @ encoding: [0x02,0x05,0xed,0xf8]
2640 @ CHECK
: srsib sp
!, #14 @ encoding: [0x0e,0x05,0xed,0xf9]
2642 @ CHECK
: srsib sp
, #11 @ encoding: [0x0b,0x05,0xcd,0xf9]
2643 @ CHECK
: srsia sp
, #10 @ encoding: [0x0a,0x05,0xcd,0xf8]
2644 @ CHECK
: srsdb sp
, #9 @ encoding: [0x09,0x05,0x4d,0xf9]
2645 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2647 @ CHECK
: srsib sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf9]
2648 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2649 @ CHECK
: srsdb sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf9]
2650 @ CHECK
: srsda sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf8]
2652 @ CHECK
: srsia sp
, #5 @ encoding: [0x05,0x05,0xcd,0xf8]
2653 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2655 @ Compatibility aliases.
2679 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2680 @ CHECK
: srsdb sp
, #1 @ encoding: [0x01,0x05,0x4d,0xf9]
2681 @ CHECK
: srsia sp
, #0 @ encoding: [0x00,0x05,0xcd,0xf8]
2682 @ CHECK
: srsib sp
, #15 @ encoding: [0x0f,0x05,0xcd,0xf9]
2683 @ CHECK
: srsda sp
!, #31 @ encoding: [0x1f,0x05,0x6d,0xf8]
2684 @ CHECK
: srsdb sp
!, #19 @ encoding: [0x13,0x05,0x6d,0xf9]
2685 @ CHECK
: srsia sp
!, #2 @ encoding: [0x02,0x05,0xed,0xf8]
2686 @ CHECK
: srsib sp
!, #14 @ encoding: [0x0e,0x05,0xed,0xf9]
2687 @ CHECK
: srsib sp
, #11 @ encoding: [0x0b,0x05,0xcd,0xf9]
2688 @ CHECK
: srsia sp
, #10 @ encoding: [0x0a,0x05,0xcd,0xf8]
2689 @ CHECK
: srsdb sp
, #9 @ encoding: [0x09,0x05,0x4d,0xf9]
2690 @ CHECK
: srsda sp
, #5 @ encoding: [0x05,0x05,0x4d,0xf8]
2691 @ CHECK
: srsib sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf9]
2692 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2693 @ CHECK
: srsdb sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf9]
2694 @ CHECK
: srsda sp
!, #5 @ encoding: [0x05,0x05,0x6d,0xf8]
2695 @ CHECK
: srsia sp
, #5 @ encoding: [0x05,0x05,0xcd,0xf8]
2696 @ CHECK
: srsia sp
!, #5 @ encoding: [0x05,0x05,0xed,0xf8]
2699 @
------------------------------------------------------------------------------
2701 @
------------------------------------------------------------------------------
2703 ssat
r8, #1, r10, lsl #0
2704 ssat
r8, #1, r10, lsl #31
2705 ssat
r8, #1, r10, asr #32
2706 ssat
r8, #1, r10, asr #1
2708 @ CHECK
: ssat
r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6]
2709 @ CHECK
: ssat
r8, #1, r10 @ encoding: [0x1a,0x80,0xa0,0xe6]
2710 @ CHECK
: ssat
r8, #1, r10, lsl #31 @ encoding: [0x9a,0x8f,0xa0,0xe6]
2711 @ CHECK
: ssat
r8, #1, r10, asr #32 @ encoding: [0x5a,0x80,0xa0,0xe6]
2712 @ CHECK
: ssat
r8, #1, r10, asr #1 @ encoding: [0xda,0x80,0xa0,0xe6]
2715 @
------------------------------------------------------------------------------
2717 @
------------------------------------------------------------------------------
2721 @ CHECK
: ssat16
r2, #1, r7 @ encoding: [0x37,0x2f,0xa0,0xe6]
2722 @ CHECK
: ssat16
r3, #16, r5 @ encoding: [0x35,0x3f,0xaf,0xe6]
2725 @
------------------------------------------------------------------------------
2727 @
------------------------------------------------------------------------------
2731 @ CHECK
: ssax
r2, r3, r4 @ encoding
: [0x54,0x2f,0x13,0xe6]
2732 @ CHECK
: ssaxlt
r2, r3, r4 @ encoding
: [0x54,0x2f,0x13,0xb6]
2734 @
------------------------------------------------------------------------------
2736 @
------------------------------------------------------------------------------
2742 @ CHECK
: ssub16
r1, r0, r6 @ encoding
: [0x76,0x1f,0x10,0xe6]
2743 @ CHECK
: ssub16ne
r5, r3, r2 @ encoding
: [0x72,0x5f,0x13,0x16]
2744 @ CHECK
: ssub8
r9, r2, r4 @ encoding
: [0xf4,0x9f,0x12,0xe6]
2745 @ CHECK
: ssub8eq
r5, r1, r2 @ encoding
: [0xf2,0x5f,0x11,0x06]
2747 @
------------------------------------------------------------------------------
2749 @
------------------------------------------------------------------------------
2750 stc2 p0
, c8
, [r1, #4]
2752 stc2 p2
, c6
, [r3, #-224]
2753 stc2 p3
, c5
, [r4, #-120]!
2754 stc2 p4
, c4
, [r5], #16
2755 stc2 p5
, c3
, [r6], #-72
2756 stc2l p6
, c2
, [r7, #4]
2758 stc2l p8
, c0
, [r9, #-224]
2759 stc2l p9
, c1
, [r10, #-120]!
2760 stc2l p0
, c2
, [r11], #16
2761 stc2l p1
, c3
, [r12], #-72
2763 stc p12
, c4
, [r0, #4]
2765 stc p14
, c6
, [r2, #-224]
2766 stc p15
, c7
, [r3, #-120]!
2767 stc p5
, c8
, [r4], #16
2768 stc p4
, c9
, [r5], #-72
2769 stcl p3
, c10
, [r6, #4]
2771 stcl p1
, c12
, [r8, #-224]
2772 stcl p0
, c13
, [r9, #-120]!
2773 stcl p6
, c14
, [r10], #16
2774 stcl p7
, c15
, [r11], #-72
2776 stclo p12
, c4
, [r0, #4]
2778 stccs p14
, c6
, [r2, #-224]
2779 stccc p15
, c7
, [r3, #-120]!
2780 stceq p5
, c8
, [r4], #16
2781 stcgt p4
, c9
, [r5], #-72
2782 stcllt p3
, c10
, [r6, #4]
2783 stclge p2
, c11
, [r7]
2784 stclle p1
, c12
, [r8, #-224]
2785 stclne p0
, c13
, [r9, #-120]!
2786 stcleq p6
, c14
, [r10], #16
2787 stclhi p7
, c15
, [r11], #-72
2789 stc2 p2
, c8
, [r1], { 25 }
2791 @ CHECK
: stc2 p0
, c8
, [r1, #4] @ encoding: [0x01,0x80,0x81,0xfd]
2792 @ CHECK
: stc2 p1
, c7
, [r2] @ encoding
: [0x00,0x71,0x82,0xfd]
2793 @ CHECK
: stc2 p2
, c6
, [r3, #-224] @ encoding: [0x38,0x62,0x03,0xfd]
2794 @ CHECK
: stc2 p3
, c5
, [r4, #-120]! @ encoding: [0x1e,0x53,0x24,0xfd]
2795 @ CHECK
: stc2 p4
, c4
, [r5], #16 @ encoding: [0x04,0x44,0xa5,0xfc]
2796 @ CHECK
: stc2 p5
, c3
, [r6], #-72 @ encoding: [0x12,0x35,0x26,0xfc]
2797 @ CHECK
: stc2l p6
, c2
, [r7, #4] @ encoding: [0x01,0x26,0xc7,0xfd]
2798 @ CHECK
: stc2l p7
, c1
, [r8] @ encoding
: [0x00,0x17,0xc8,0xfd]
2799 @ CHECK
: stc2l p8
, c0
, [r9, #-224] @ encoding: [0x38,0x08,0x49,0xfd]
2800 @ CHECK
: stc2l p9
, c1
, [r10, #-120]! @ encoding: [0x1e,0x19,0x6a,0xfd]
2801 @ CHECK
: stc2l p0
, c2
, [r11], #16 @ encoding: [0x04,0x20,0xeb,0xfc]
2802 @ CHECK
: stc2l p1
, c3
, [r12], #-72 @ encoding: [0x12,0x31,0x6c,0xfc]
2804 @ CHECK
: stc p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x80,0xed]
2805 @ CHECK
: stc p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x81,0xed]
2806 @ CHECK
: stc p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0xed]
2807 @ CHECK
: stc p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0xed]
2808 @ CHECK
: stc p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xa4,0xec]
2809 @ CHECK
: stc p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xec]
2810 @ CHECK
: stcl p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xed]
2811 @ CHECK
: stcl p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xc7,0xed]
2812 @ CHECK
: stcl p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xed]
2813 @ CHECK
: stcl p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0xed]
2814 @ CHECK
: stcl p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xea,0xec]
2815 @ CHECK
: stcl p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0xec]
2817 @ CHECK
: stclo p12
, c4
, [r0, #4] @ encoding: [0x01,0x4c,0x80,0x3d]
2818 @ CHECK
: stchi p13
, c5
, [r1] @ encoding
: [0x00,0x5d,0x81,0x8d]
2819 @ CHECK
: stchs p14
, c6
, [r2, #-224] @ encoding: [0x38,0x6e,0x02,0x2d]
2820 @ CHECK
: stclo p15
, c7
, [r3, #-120]! @ encoding: [0x1e,0x7f,0x23,0x3d]
2821 @ CHECK
: stceq p5
, c8
, [r4], #16 @ encoding: [0x04,0x85,0xa4,0x0c]
2822 @ CHECK
: stcgt p4
, c9
, [r5], #-72 @ encoding: [0x12,0x94,0x25,0xcc]
2823 @ CHECK
: stcllt p3
, c10
, [r6, #4] @ encoding: [0x01,0xa3,0xc6,0xbd]
2824 @ CHECK
: stclge p2
, c11
, [r7] @ encoding
: [0x00,0xb2,0xc7,0xad]
2825 @ CHECK
: stclle p1
, c12
, [r8, #-224] @ encoding: [0x38,0xc1,0x48,0xdd]
2826 @ CHECK
: stclne p0
, c13
, [r9, #-120]! @ encoding: [0x1e,0xd0,0x69,0x1d]
2827 @ CHECK
: stcleq p6
, c14
, [r10], #16 @ encoding: [0x04,0xe6,0xea,0x0c]
2828 @ CHECK
: stclhi p7
, c15
, [r11], #-72 @ encoding: [0x12,0xf7,0x6b,0x8c]
2830 @ CHECK
: stc2 p2
, c8
, [r1], {25} @ encoding
: [0x19,0x82,0x81,0xfc]
2833 @
------------------------------------------------------------------------------
2835 @
------------------------------------------------------------------------------
2836 stm r2, {r1,r3-
r6,sp
}
2837 stmia
r3, {r1,r3-
r6,lr}
2838 stmib
r4, {r1,r3-
r6,sp
}
2839 stmda
r5, {r1,r3-
r6,sp
}
2840 stmdb
r6, {r1,r3-
r6,r8}
2841 stmfd sp
, {r1,r3-
r6,sp
}
2844 stm r8!, {r1,r3-
r6,sp
}
2845 stmib
r9!, {r1,r3-
r6,sp
}
2846 stmda sp
!, {r1,r3-
r6}
2847 stmdb
r0!, {r1,r5,r7,sp
}
2849 @ CHECK
: stm r2, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x82,0xe8]
2850 @ CHECK
: stm r3, {r1, r3, r4, r5, r6, lr} @ encoding
: [0x7a,0x40,0x83,0xe8]
2851 @ CHECK
: stmib
r4, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x84,0xe9]
2852 @ CHECK
: stmda
r5, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x05,0xe8]
2853 @ CHECK
: stmdb
r6, {r1, r3, r4, r5, r6, r8} @ encoding
: [0x7a,0x01,0x06,0xe9]
2854 @ CHECK
: stmdb sp
, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0x0d,0xe9]
2856 @ CHECK
: stm r8!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xa8,0xe8]
2857 @ CHECK
: stmib
r9!, {r1, r3, r4, r5, r6, sp
} @ encoding
: [0x7a,0x20,0xa9,0xe9]
2858 @ CHECK
: stmda sp
!, {r1, r3, r4, r5, r6} @ encoding
: [0x7a,0x00,0x2d,0xe8]
2859 @ CHECK
: stmdb
r0!, {r1, r5, r7, sp
} @ encoding
: [0xa2,0x20,0x20,0xe9]
2862 @
------------------------------------------------------------------------------
2863 @ STREX
/STREXB
/STREXH
/STREXD
2864 @
------------------------------------------------------------------------------
2868 strexd
r6, r2, r3, [r8]
2870 @ CHECK
: strexb
r1, r3, [r4] @ encoding
: [0x93,0x1f,0xc4,0xe1]
2871 @ CHECK
: strexh
r4, r2, [r5] @ encoding
: [0x92,0x4f,0xe5,0xe1]
2872 @ CHECK
: strex
r2, r1, [r7] @ encoding
: [0x91,0x2f,0x87,0xe1]
2873 @ CHECK
: strexd
r6, r2, r3, [r8] @ encoding
: [0x92,0x6f,0xa8,0xe1]
2875 @
------------------------------------------------------------------------------
2877 @
------------------------------------------------------------------------------
2878 strpl
r3, [r10, #-0]!
2879 strpl
r3, [r10, #0]!
2881 @ CHECK
: strpl
r3, [r10, #-0]! @ encoding: [0x00,0x30,0x2a,0x55]
2882 @ CHECK
: strpl
r3, [r10, #0]! @ encoding: [0x00,0x30,0xaa,0x55]
2884 @
------------------------------------------------------------------------------
2886 @
------------------------------------------------------------------------------
2890 sub r7, r8, #(0xff << 16)
2891 sub r7, r8, #-2147483638
2896 sub r7, r8, (20 * 2), (1 << 1)
2898 sub r4, r5, r6, lsl
#5
2899 sub r4, r5, r6, lsr
#5
2900 sub r4, r5, r6, lsr
#5
2901 sub r4, r5, r6, asr
#5
2902 sub r4, r5, r6, ror
#5
2903 sub r6, r7, r8, lsl
r9
2904 sub r6, r7, r8, lsr
r9
2905 sub r6, r7, r8, asr
r9
2906 sub r6, r7, r8, ror
r9
2908 @ destination register is optional
2912 sub r7, #(0xff << 16)
2913 sub r7, #-2147483638
2918 sub r7, (20 * 2), (1 << 1)
2930 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2931 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2932 @ CHECK
: sub r4, r5, #61440 @ encoding: [0x0f,0x4a,0x45,0xe2]
2933 @ CHECK
: sub r7, r8, #16711680 @ encoding: [0xff,0x78,0x48,0xe2]
2934 @ CHECK
: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2]
2935 @ CHECK
: sub r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x48,0xe2]
2936 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2937 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2938 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2939 @ CHECK
: sub r7, r8, #40, #2 @ encoding: [0x28,0x71,0x48,0xe2]
2940 @ CHECK
: sub r4, r5, r6 @ encoding
: [0x06,0x40,0x45,0xe0]
2941 @ CHECK
: sub r4, r5, r6, lsl
#5 @ encoding: [0x86,0x42,0x45,0xe0]
2942 @ CHECK
: sub r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x45,0xe0]
2943 @ CHECK
: sub r4, r5, r6, lsr
#5 @ encoding: [0xa6,0x42,0x45,0xe0]
2944 @ CHECK
: sub r4, r5, r6, asr
#5 @ encoding: [0xc6,0x42,0x45,0xe0]
2945 @ CHECK
: sub r4, r5, r6, ror
#5 @ encoding: [0xe6,0x42,0x45,0xe0]
2946 @ CHECK
: sub r6, r7, r8, lsl
r9 @ encoding
: [0x18,0x69,0x47,0xe0]
2947 @ CHECK
: sub r6, r7, r8, lsr
r9 @ encoding
: [0x38,0x69,0x47,0xe0]
2948 @ CHECK
: sub r6, r7, r8, asr
r9 @ encoding
: [0x58,0x69,0x47,0xe0]
2949 @ CHECK
: sub r6, r7, r8, ror
r9 @ encoding
: [0x78,0x69,0x47,0xe0]
2952 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2953 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2954 @ CHECK
: sub r5, r5, #61440 @ encoding: [0x0f,0x5a,0x45,0xe2]
2955 @ CHECK
: sub r7, r7, #16711680 @ encoding: [0xff,0x78,0x47,0xe2]
2956 @ CHECK
: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2]
2957 @ CHECK
: sub r7, r7, #-2147483638 @ encoding: [0x2a,0x71,0x47,0xe2]
2958 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2959 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2
2960 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2961 @ CHECK
: sub r7, r7, #40, #2 @ encoding: [0x28,0x71,0x47,0xe2]
2962 @ CHECK
: sub r4, r4, r5 @ encoding
: [0x05,0x40,0x44,0xe0]
2963 @ CHECK
: sub r4, r4, r5, lsl
#5 @ encoding: [0x85,0x42,0x44,0xe0]
2964 @ CHECK
: sub r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x44,0xe0]
2965 @ CHECK
: sub r4, r4, r5, lsr
#5 @ encoding: [0xa5,0x42,0x44,0xe0]
2966 @ CHECK
: sub r4, r4, r5, asr
#5 @ encoding: [0xc5,0x42,0x44,0xe0]
2967 @ CHECK
: sub r4, r4, r5, ror
#5 @ encoding: [0xe5,0x42,0x44,0xe0]
2968 @ CHECK
: sub r6, r6, r7, lsl
r9 @ encoding
: [0x17,0x69,0x46,0xe0]
2969 @ CHECK
: sub r6, r6, r7, lsr
r9 @ encoding
: [0x37,0x69,0x46,0xe0]
2970 @ CHECK
: sub r6, r6, r7, asr
r9 @ encoding
: [0x57,0x69,0x46,0xe0]
2971 @ CHECK
: sub r6, r6, r7, ror
r9 @ encoding
: [0x77,0x69,0x46,0xe0]
2973 @ Test right shift by
32, which is encoded as
0
2974 sub r3, r1, r2, lsr
#32
2975 sub r3, r1, r2, asr
#32
2976 @ CHECK
: sub r3, r1, r2, lsr
#32 @ encoding: [0x22,0x30,0x41,0xe0]
2977 @ CHECK
: sub r3, r1, r2, asr
#32 @ encoding: [0x42,0x30,0x41,0xe0]
2979 @
------------------------------------------------------------------------------
2981 @
------------------------------------------------------------------------------
2982 subs
r7, r8, #16711680
2983 subs
r7, r8, $
16711680
2984 subs
r7, r8, 16711680
2985 subs
r7, r8, #(0xff << 16)
2986 subs
r7, r8, #-2147483638
2987 subs
r7, r8, #42, #2
2988 subs
r7, r8, #40, #2
2989 subs
r7, r8, $
40, $
2
2991 subs
r7, r8, (20 * 2), (1 << 1)
2993 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
2994 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
2995 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
2996 @ CHECK
: subs
r7, r8, #16711680 @ encoding: [0xff,0x78,0x58,0xe2]
2997 @ CHECK
: subs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2]
2998 @ CHECK
: subs
r7, r8, #-2147483638 @ encoding: [0x2a,0x71,0x58,0xe2]
2999 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3000 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3001 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3002 @ CHECK
: subs
r7, r8, #40, #2 @ encoding: [0x28,0x71,0x58,0xe2]
3004 @
------------------------------------------------------------------------------
3006 @
------------------------------------------------------------------------------
3011 @ CHECK
: svc #16 @ encoding: [0x10,0x00,0x00,0xef]
3012 @ CHECK
: svc #0 @ encoding: [0x00,0x00,0x00,0xef]
3013 @ CHECK
: svc #16777215 @ encoding: [0xff,0xff,0xff,0xef]
3016 @
------------------------------------------------------------------------------
3018 @
------------------------------------------------------------------------------
3023 @ CHECK
: swp
r1, r2, [r3] @ encoding
: [0x92,0x10,0x03,0xe1]
3024 @ CHECK
: swp
r4, r4, [r6] @ encoding
: [0x94,0x40,0x06,0xe1]
3025 @ CHECK
: swpb
r5, r1, [r9] @ encoding
: [0x91,0x50,0x49,0xe1]
3028 @
------------------------------------------------------------------------------
3030 @
------------------------------------------------------------------------------
3032 sxtab
r4, r5, r6, ror
#0
3033 sxtablt
r6, r2, r9, ror
#8
3034 sxtab
r5, r1, r4, ror
#16
3035 sxtab
r7, r8, r3, ror
#24
3037 @ CHECK
: sxtab
r2, r3, r4 @ encoding
: [0x74,0x20,0xa3,0xe6]
3038 @ CHECK
: sxtab
r4, r5, r6 @ encoding
: [0x76,0x40,0xa5,0xe6]
3039 @ CHECK
: sxtablt
r6, r2, r9, ror
#8 @ encoding: [0x79,0x64,0xa2,0xb6]
3040 @ CHECK
: sxtab
r5, r1, r4, ror
#16 @ encoding: [0x74,0x58,0xa1,0xe6]
3041 @ CHECK
: sxtab
r7, r8, r3, ror
#24 @ encoding: [0x73,0x7c,0xa8,0xe6]
3044 @
------------------------------------------------------------------------------
3046 @
------------------------------------------------------------------------------
3047 sxtab16ge
r0, r1, r4
3048 sxtab16
r6, r2, r7, ror
#0
3049 sxtab16
r3, r5, r8, ror
#8
3050 sxtab16
r3, r2, r1, ror
#16
3051 sxtab16eq
r1, r2, r3, ror
#24
3053 @ CHECK
: sxtab16ge
r0, r1, r4 @ encoding
: [0x74,0x00,0x81,0xa6]
3054 @ CHECK
: sxtab16
r6, r2, r7 @ encoding
: [0x77,0x60,0x82,0xe6]
3055 @ CHECK
: sxtab16
r3, r5, r8, ror
#8 @ encoding: [0x78,0x34,0x85,0xe6]
3056 @ CHECK
: sxtab16
r3, r2, r1, ror
#16 @ encoding: [0x71,0x38,0x82,0xe6]
3057 @ CHECK
: sxtab16eq
r1, r2, r3, ror
#24 @ encoding: [0x73,0x1c,0x82,0x06]
3059 @
------------------------------------------------------------------------------
3061 @
------------------------------------------------------------------------------
3063 sxtahhi
r6, r1, r6, ror
#0
3064 sxtah
r3, r8, r3, ror
#8
3065 sxtahlo
r2, r2, r4, ror
#16
3066 sxtah
r9, r3, r3, ror
#24
3068 @ CHECK
: sxtah
r1, r3, r9 @ encoding
: [0x79,0x10,0xb3,0xe6]
3069 @ CHECK
: sxtahhi
r6, r1, r6 @ encoding
: [0x76,0x60,0xb1,0x86]
3070 @ CHECK
: sxtah
r3, r8, r3, ror
#8 @ encoding: [0x73,0x34,0xb8,0xe6]
3071 @ CHECK
: sxtahlo
r2, r2, r4, ror
#16 @ encoding: [0x74,0x28,0xb2,0x36]
3072 @ CHECK
: sxtah
r9, r3, r3, ror
#24 @ encoding: [0x73,0x9c,0xb3,0xe6]
3074 @
------------------------------------------------------------------------------
3076 @
------------------------------------------------------------------------------
3080 sxtbcc
r5, r1, ror
#16
3081 sxtb
r8, r3, ror
#24
3083 @ CHECK
: sxtbge
r2, r4 @ encoding
: [0x74,0x20,0xaf,0xa6]
3084 @ CHECK
: sxtb
r5, r6 @ encoding
: [0x76,0x50,0xaf,0xe6]
3085 @ CHECK
: sxtb
r6, r9, ror
#8 @ encoding: [0x79,0x64,0xaf,0xe6]
3086 @ CHECK
: sxtblo
r5, r1, ror
#16 @ encoding: [0x71,0x58,0xaf,0x36]
3087 @ CHECK
: sxtb
r8, r3, ror
#24 @ encoding: [0x73,0x8c,0xaf,0xe6]
3090 @
------------------------------------------------------------------------------
3092 @
------------------------------------------------------------------------------
3094 sxtb16
r6, r7, ror
#0
3095 sxtb16cs
r3, r5, ror
#8
3096 sxtb16
r3, r1, ror
#16
3097 sxtb16ge
r2, r3, ror
#24
3099 @ CHECK
: sxtb16
r1, r4 @ encoding
: [0x74,0x10,0x8f,0xe6]
3100 @ CHECK
: sxtb16
r6, r7 @ encoding
: [0x77,0x60,0x8f,0xe6]
3101 @ CHECK
: sxtb16hs
r3, r5, ror
#8 @ encoding: [0x75,0x34,0x8f,0x26]
3102 @ CHECK
: sxtb16
r3, r1, ror
#16 @ encoding: [0x71,0x38,0x8f,0xe6]
3103 @ CHECK
: sxtb16ge
r2, r3, ror
#24 @ encoding: [0x73,0x2c,0x8f,0xa6]
3106 @
------------------------------------------------------------------------------
3108 @
------------------------------------------------------------------------------
3112 sxthle
r2, r2, ror
#16
3113 sxth
r9, r3, ror
#24
3115 @ CHECK
: sxthne
r3, r9 @ encoding
: [0x79,0x30,0xbf,0x16]
3116 @ CHECK
: sxth
r1, r6 @ encoding
: [0x76,0x10,0xbf,0xe6]
3117 @ CHECK
: sxth
r3, r8, ror
#8 @ encoding: [0x78,0x34,0xbf,0xe6]
3118 @ CHECK
: sxthle
r2, r2, ror
#16 @ encoding: [0x72,0x28,0xbf,0xd6]
3119 @ CHECK
: sxth
r9, r3, ror
#24 @ encoding: [0x73,0x9c,0xbf,0xe6]
3122 @
------------------------------------------------------------------------------
3124 @
------------------------------------------------------------------------------
3128 teq r7, #(0xff << 16)
3129 teq r7, #-2147483638
3134 teq r7, (20 * 2), (1 << 1)
3146 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3147 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3148 @ CHECK
: teq r5, #61440 @ encoding: [0x0f,0x0a,0x35,0xe3]
3149 @ CHECK
: teq r7, #16711680 @ encoding: [0xff,0x08,0x37,0xe3]
3150 @ CHECK
: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3]
3151 @ CHECK
: teq r7, #-2147483638 @ encoding: [0x2a,0x01,0x37,0xe3]
3152 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3153 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3154 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3155 @ CHECK
: teq r7, #40, #2 @ encoding: [0x28,0x01,0x37,0xe3]
3156 @ CHECK
: teq r4, r5 @ encoding
: [0x05,0x00,0x34,0xe1]
3157 @ CHECK
: teq r4, r5, lsl
#5 @ encoding: [0x85,0x02,0x34,0xe1]
3158 @ CHECK
: teq r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x34,0xe1]
3159 @ CHECK
: teq r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x34,0xe1]
3160 @ CHECK
: teq r4, r5, asr
#5 @ encoding: [0xc5,0x02,0x34,0xe1]
3161 @ CHECK
: teq r4, r5, ror
#5 @ encoding: [0xe5,0x02,0x34,0xe1]
3162 @ CHECK
: teq r6, r7, lsl
r9 @ encoding
: [0x17,0x09,0x36,0xe1]
3163 @ CHECK
: teq r6, r7, lsr
r9 @ encoding
: [0x37,0x09,0x36,0xe1]
3164 @ CHECK
: teq r6, r7, asr
r9 @ encoding
: [0x57,0x09,0x36,0xe1]
3165 @ CHECK
: teq r6, r7, ror
r9 @ encoding
: [0x77,0x09,0x36,0xe1]
3168 @
------------------------------------------------------------------------------
3170 @
------------------------------------------------------------------------------
3174 tst
r7, #(0xff << 16)
3175 tst
r7, #-2147483638
3180 tst
r7, (20 * 2), (1 << 1)
3192 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3193 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3194 @ CHECK
: tst
r5, #61440 @ encoding: [0x0f,0x0a,0x15,0xe3]
3195 @ CHECK
: tst
r7, #16711680 @ encoding: [0xff,0x08,0x17,0xe3]
3196 @ CHECK
: tst
r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3]
3197 @ CHECK
: tst
r7, #-2147483638 @ encoding: [0x2a,0x01,0x17,0xe3]
3198 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3199 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3200 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3201 @ CHECK
: tst
r7, #40, #2 @ encoding: [0x28,0x01,0x17,0xe3]
3202 @ CHECK
: tst
r4, r5 @ encoding
: [0x05,0x00,0x14,0xe1]
3203 @ CHECK
: tst
r4, r5, lsl
#5 @ encoding: [0x85,0x02,0x14,0xe1]
3204 @ CHECK
: tst
r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x14,0xe1]
3205 @ CHECK
: tst
r4, r5, lsr
#5 @ encoding: [0xa5,0x02,0x14,0xe1]
3206 @ CHECK
: tst
r4, r5, asr
#5 @ encoding: [0xc5,0x02,0x14,0xe1]
3207 @ CHECK
: tst
r4, r5, ror
#5 @ encoding: [0xe5,0x02,0x14,0xe1]
3208 @ CHECK
: tst
r6, r7, lsl
r9 @ encoding
: [0x17,0x09,0x16,0xe1]
3209 @ CHECK
: tst
r6, r7, lsr
r9 @ encoding
: [0x37,0x09,0x16,0xe1]
3210 @ CHECK
: tst
r6, r7, asr
r9 @ encoding
: [0x57,0x09,0x16,0xe1]
3211 @ CHECK
: tst
r6, r7, ror
r9 @ encoding
: [0x77,0x09,0x16,0xe1]
3214 @
------------------------------------------------------------------------------
3216 @
------------------------------------------------------------------------------
3222 @ CHECK
: uadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x52,0xe6]
3223 @ CHECK
: uadd16gt
r1, r2, r3 @ encoding
: [0x13,0x1f,0x52,0xc6]
3224 @ CHECK
: uadd8
r1, r2, r3 @ encoding
: [0x93,0x1f,0x52,0xe6]
3225 @ CHECK
: uadd8le
r1, r2, r3 @ encoding
: [0x93,0x1f,0x52,0xd6]
3228 @
------------------------------------------------------------------------------
3230 @
------------------------------------------------------------------------------
3234 @ CHECK
: uasx
r9, r12, r0 @ encoding
: [0x30,0x9f,0x5c,0xe6]
3235 @ CHECK
: uasxeq
r9, r12, r0 @ encoding
: [0x30,0x9f,0x5c,0x06]
3238 @
------------------------------------------------------------------------------
3240 @
------------------------------------------------------------------------------
3241 ubfx
r4, r5, #16, #1
3242 ubfxgt
r4, r5, #16, #16
3244 @ CHECK
: ubfx
r4, r5, #16, #1 @ encoding: [0x55,0x48,0xe0,0xe7]
3245 @ CHECK
: ubfxgt
r4, r5, #16, #16 @ encoding: [0x55,0x48,0xef,0xc7]
3248 @
------------------------------------------------------------------------------
3250 @
------------------------------------------------------------------------------
3252 uhadd16gt
r4, r8, r2
3256 @ CHECK
: uhadd16
r4, r8, r2 @ encoding
: [0x12,0x4f,0x78,0xe6]
3257 @ CHECK
: uhadd16gt
r4, r8, r2 @ encoding
: [0x12,0x4f,0x78,0xc6]
3258 @ CHECK
: uhadd8
r4, r8, r2 @ encoding
: [0x92,0x4f,0x78,0xe6]
3259 @ CHECK
: uhadd8gt
r4, r8, r2 @ encoding
: [0x92,0x4f,0x78,0xc6]
3262 @
------------------------------------------------------------------------------
3264 @
------------------------------------------------------------------------------
3268 @ CHECK
: uhasx
r4, r8, r2 @ encoding
: [0x32,0x4f,0x78,0xe6]
3269 @ CHECK
: uhasxgt
r4, r8, r2 @ encoding
: [0x32,0x4f,0x78,0xc6]
3272 @
------------------------------------------------------------------------------
3274 @
------------------------------------------------------------------------------
3276 uhsub16gt
r4, r8, r2
3280 @ CHECK
: uhsub16
r4, r8, r2 @ encoding
: [0x72,0x4f,0x78,0xe6]
3281 @ CHECK
: uhsub16gt
r4, r8, r2 @ encoding
: [0x72,0x4f,0x78,0xc6]
3282 @ CHECK
: uhsub8
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x78,0xe6]
3283 @ CHECK
: uhsub8gt
r4, r8, r2 @ encoding
: [0xf2,0x4f,0x78,0xc6]
3286 @
------------------------------------------------------------------------------
3288 @
------------------------------------------------------------------------------
3289 umaal
r3, r4, r5, r6
3290 umaallt
r3, r4, r5, r6
3292 @ CHECK
: umaal
r3, r4, r5, r6 @ encoding
: [0x95,0x36,0x44,0xe0]
3293 @ CHECK
: umaallt
r3, r4, r5, r6 @ encoding
: [0x95,0x36,0x44,0xb0]
3296 @
------------------------------------------------------------------------------
3298 @
------------------------------------------------------------------------------
3299 umlal
r2, r4, r6, r8
3300 umlalgt
r6, r1, r2, r6
3301 umlals
r2, r9, r2, r3
3302 umlalseq
r3, r5, r1, r2
3304 @ CHECK
: umlal
r2, r4, r6, r8 @ encoding
: [0x96,0x28,0xa4,0xe0]
3305 @ CHECK
: umlalgt
r6, r1, r2, r6 @ encoding
: [0x92,0x66,0xa1,0xc0]
3306 @ CHECK
: umlals
r2, r9, r2, r3 @ encoding
: [0x92,0x23,0xb9,0xe0]
3307 @ CHECK
: umlalseq
r3, r5, r1, r2 @ encoding
: [0x91,0x32,0xb5,0x00]
3310 @
------------------------------------------------------------------------------
3312 @
------------------------------------------------------------------------------
3313 umull
r2, r4, r6, r8
3314 umullgt
r6, r1, r2, r6
3315 umulls
r2, r9, r2, r3
3316 umullseq
r3, r5, r1, r2
3318 @ CHECK
: umull
r2, r4, r6, r8 @ encoding
: [0x96,0x28,0x84,0xe0]
3319 @ CHECK
: umullgt
r6, r1, r2, r6 @ encoding
: [0x92,0x66,0x81,0xc0]
3320 @ CHECK
: umulls
r2, r9, r2, r3 @ encoding
: [0x92,0x23,0x99,0xe0]
3321 @ CHECK
: umullseq
r3, r5, r1, r2 @ encoding
: [0x91,0x32,0x95,0x00]
3324 @
------------------------------------------------------------------------------
3326 @
------------------------------------------------------------------------------
3328 uqadd16gt
r4, r7, r9
3333 @ CHECK
: uqadd16
r1, r2, r3 @ encoding
: [0x13,0x1f,0x62,0xe6]
3334 @ CHECK
: uqadd16gt
r4, r7, r9 @ encoding
: [0x19,0x4f,0x67,0xc6]
3335 @ CHECK
: uqadd8
r3, r4, r8 @ encoding
: [0x98,0x3f,0x64,0xe6]
3336 @ CHECK
: uqadd8le
r8, r1, r2 @ encoding
: [0x92,0x8f,0x61,0xd6]
3339 @
------------------------------------------------------------------------------
3341 @
------------------------------------------------------------------------------
3345 @ CHECK
: uqasx
r2, r4, r1 @ encoding
: [0x31,0x2f,0x64,0xe6]
3346 @ CHECK
: uqasxhi
r5, r2, r9 @ encoding
: [0x39,0x5f,0x62,0x86]
3349 @
------------------------------------------------------------------------------
3351 @
------------------------------------------------------------------------------
3355 @ CHECK
: uqsax
r1, r3, r7 @ encoding
: [0x57,0x1f,0x63,0xe6]
3356 @ CHECK
: uqsax
r3, r6, r2 @ encoding
: [0x52,0x3f,0x66,0xe6]
3359 @
------------------------------------------------------------------------------
3361 @
------------------------------------------------------------------------------
3363 uqsub16gt
r3, r2, r5
3367 @ CHECK
: uqsub16
r1, r5, r3 @ encoding
: [0x73,0x1f,0x65,0xe6]
3368 @ CHECK
: uqsub16gt
r3, r2, r5 @ encoding
: [0x75,0x3f,0x62,0xc6]
3369 @ CHECK
: uqsub8
r2, r1, r4 @ encoding
: [0xf4,0x2f,0x61,0xe6]
3370 @ CHECK
: uqsub8le
r4, r6, r9 @ encoding
: [0xf9,0x4f,0x66,0xd6]
3373 @
------------------------------------------------------------------------------
3375 @
------------------------------------------------------------------------------
3378 usada8
r1, r5, r3, r7
3379 usada8gt
r3, r2, r5, r1
3381 @ CHECK
: usad8
r2, r1, r4 @ encoding
: [0x11,0xf4,0x82,0xe7]
3382 @ CHECK
: usad8le
r4, r6, r9 @ encoding
: [0x16,0xf9,0x84,0xd7]
3383 @ CHECK
: usada8
r1, r5, r3, r7 @ encoding
: [0x15,0x73,0x81,0xe7]
3384 @ CHECK
: usada8gt
r3, r2, r5, r1 @ encoding
: [0x12,0x15,0x83,0xc7]
3387 @
------------------------------------------------------------------------------
3389 @
------------------------------------------------------------------------------
3391 usat
r8, #4, r10, lsl #0
3392 usat
r8, #5, r10, lsl #31
3393 usat
r8, #31, r10, asr #32
3394 usat
r8, #16, r10, asr #1
3396 @ CHECK
: usat
r8, #1, r10 @ encoding: [0x1a,0x80,0xe1,0xe6]
3397 @ CHECK
: usat
r8, #4, r10 @ encoding: [0x1a,0x80,0xe4,0xe6]
3398 @ CHECK
: usat
r8, #5, r10, lsl #31 @ encoding: [0x9a,0x8f,0xe5,0xe6]
3399 @ CHECK
: usat
r8, #31, r10, asr #32 @ encoding: [0x5a,0x80,0xff,0xe6]
3400 @ CHECK
: usat
r8, #16, r10, asr #1 @ encoding: [0xda,0x80,0xf0,0xe6]
3403 @
------------------------------------------------------------------------------
3405 @
------------------------------------------------------------------------------
3409 @ CHECK
: usat16
r2, #2, r7 @ encoding: [0x37,0x2f,0xe2,0xe6]
3410 @ CHECK
: usat16
r3, #15, r5 @ encoding: [0x35,0x3f,0xef,0xe6]
3413 @
------------------------------------------------------------------------------
3415 @
------------------------------------------------------------------------------
3419 @ CHECK
: usax
r2, r3, r4 @ encoding
: [0x54,0x2f,0x53,0xe6]
3420 @ CHECK
: usaxne
r2, r3, r4 @ encoding
: [0x54,0x2f,0x53,0x16]
3422 @
------------------------------------------------------------------------------
3424 @
------------------------------------------------------------------------------
3430 @ CHECK
: usub16
r4, r2, r7 @ encoding
: [0x77,0x4f,0x52,0xe6]
3431 @ CHECK
: usub16hi
r1, r1, r3 @ encoding
: [0x73,0x1f,0x51,0x86]
3432 @ CHECK
: usub8
r1, r8, r5 @ encoding
: [0xf5,0x1f,0x58,0xe6]
3433 @ CHECK
: usub8le
r9, r2, r3 @ encoding
: [0xf3,0x9f,0x52,0xd6]
3436 @
------------------------------------------------------------------------------
3438 @
------------------------------------------------------------------------------
3440 uxtab
r4, r5, r6, ror
#0
3441 uxtablt
r6, r2, r9, ror
#8
3442 uxtab
r5, r1, r4, ror
#16
3443 uxtab
r7, r8, r3, ror
#24
3445 @ CHECK
: uxtab
r2, r3, r4 @ encoding
: [0x74,0x20,0xe3,0xe6]
3446 @ CHECK
: uxtab
r4, r5, r6 @ encoding
: [0x76,0x40,0xe5,0xe6]
3447 @ CHECK
: uxtablt
r6, r2, r9, ror
#8 @ encoding: [0x79,0x64,0xe2,0xb6]
3448 @ CHECK
: uxtab
r5, r1, r4, ror
#16 @ encoding: [0x74,0x58,0xe1,0xe6]
3449 @ CHECK
: uxtab
r7, r8, r3, ror
#24 @ encoding: [0x73,0x7c,0xe8,0xe6]
3452 @
------------------------------------------------------------------------------
3454 @
------------------------------------------------------------------------------
3455 uxtab16ge
r0, r1, r4
3456 uxtab16
r6, r2, r7, ror
#0
3457 uxtab16
r3, r5, r8, ror
#8
3458 uxtab16
r3, r2, r1, ror
#16
3459 uxtab16eq
r1, r2, r3, ror
#24
3461 @ CHECK
: uxtab16ge
r0, r1, r4 @ encoding
: [0x74,0x00,0xc1,0xa6]
3462 @ CHECK
: uxtab16
r6, r2, r7 @ encoding
: [0x77,0x60,0xc2,0xe6]
3463 @ CHECK
: uxtab16
r3, r5, r8, ror
#8 @ encoding: [0x78,0x34,0xc5,0xe6]
3464 @ CHECK
: uxtab16
r3, r2, r1, ror
#16 @ encoding: [0x71,0x38,0xc2,0xe6]
3465 @ CHECK
: uxtab16eq
r1, r2, r3, ror
#24 @ encoding: [0x73,0x1c,0xc2,0x06]
3468 @
------------------------------------------------------------------------------
3470 @
------------------------------------------------------------------------------
3472 uxtahhi
r6, r1, r6, ror
#0
3473 uxtah
r3, r8, r3, ror
#8
3474 uxtahlo
r2, r2, r4, ror
#16
3475 uxtah
r9, r3, r3, ror
#24
3477 @ CHECK
: uxtah
r1, r3, r9 @ encoding
: [0x79,0x10,0xf3,0xe6]
3478 @ CHECK
: uxtahhi
r6, r1, r6 @ encoding
: [0x76,0x60,0xf1,0x86]
3479 @ CHECK
: uxtah
r3, r8, r3, ror
#8 @ encoding: [0x73,0x34,0xf8,0xe6]
3480 @ CHECK
: uxtahlo
r2, r2, r4, ror
#16 @ encoding: [0x74,0x28,0xf2,0x36]
3481 @ CHECK
: uxtah
r9, r3, r3, ror
#24 @ encoding: [0x73,0x9c,0xf3,0xe6]
3483 @
------------------------------------------------------------------------------
3485 @
------------------------------------------------------------------------------
3489 uxtbcc
r5, r1, ror
#16
3490 uxtb
r8, r3, ror
#24
3492 @ CHECK
: uxtbge
r2, r4 @ encoding
: [0x74,0x20,0xef,0xa6]
3493 @ CHECK
: uxtb
r5, r6 @ encoding
: [0x76,0x50,0xef,0xe6]
3494 @ CHECK
: uxtb
r6, r9, ror
#8 @ encoding: [0x79,0x64,0xef,0xe6]
3495 @ CHECK
: uxtblo
r5, r1, ror
#16 @ encoding: [0x71,0x58,0xef,0x36]
3496 @ CHECK
: uxtb
r8, r3, ror
#24 @ encoding: [0x73,0x8c,0xef,0xe6]
3499 @
------------------------------------------------------------------------------
3501 @
------------------------------------------------------------------------------
3503 uxtb16
r6, r7, ror
#0
3504 uxtb16cs
r3, r5, ror
#8
3505 uxtb16
r3, r1, ror
#16
3506 uxtb16ge
r2, r3, ror
#24
3508 @ CHECK
: uxtb16
r1, r4 @ encoding
: [0x74,0x10,0xcf,0xe6]
3509 @ CHECK
: uxtb16
r6, r7 @ encoding
: [0x77,0x60,0xcf,0xe6]
3510 @ CHECK
: uxtb16hs
r3, r5, ror
#8 @ encoding: [0x75,0x34,0xcf,0x26]
3511 @ CHECK
: uxtb16
r3, r1, ror
#16 @ encoding: [0x71,0x38,0xcf,0xe6]
3512 @ CHECK
: uxtb16ge
r2, r3, ror
#24 @ encoding: [0x73,0x2c,0xcf,0xa6]
3515 @
------------------------------------------------------------------------------
3517 @
------------------------------------------------------------------------------
3521 uxthle
r2, r2, ror
#16
3522 uxth
r9, r3, ror
#24
3524 @ CHECK
: uxthne
r3, r9 @ encoding
: [0x79,0x30,0xff,0x16]
3525 @ CHECK
: uxth
r1, r6 @ encoding
: [0x76,0x10,0xff,0xe6]
3526 @ CHECK
: uxth
r3, r8, ror
#8 @ encoding: [0x78,0x34,0xff,0xe6]
3527 @ CHECK
: uxthle
r2, r2, ror
#16 @ encoding: [0x72,0x28,0xff,0xd6]
3528 @ CHECK
: uxth
r9, r3, ror
#24 @ encoding: [0x73,0x9c,0xff,0xe6]
3531 @
------------------------------------------------------------------------------
3533 @
------------------------------------------------------------------------------
3547 @ CHECK
: wfe @ encoding
: [0x02,0xf0,0x20,0xe3]
3548 @ CHECK
: wfehi @ encoding
: [0x02,0xf0,0x20,0x83]
3549 @ CHECK
: wfi @ encoding
: [0x03,0xf0,0x20,0xe3]
3550 @ CHECK
: wfilt @ encoding
: [0x03,0xf0,0x20,0xb3]
3551 @ CHECK
: yield @ encoding
: [0x01,0xf0,0x20,0xe3]
3552 @ CHECK
: yieldne @ encoding
: [0x01,0xf0,0x20,0x13]
3553 @ CHECK
: sev @ encoding
: [0x04,0xf0,0x20,0xe3]
3554 @ CHECK
: wfi @ encoding
: [0x03,0xf0,0x20,0xe3]
3555 @ CHECK
: wfe @ encoding
: [0x02,0xf0,0x20,0xe3]
3556 @ CHECK
: yield @ encoding
: [0x01,0xf0,0x20,0xe3]
3557 @ CHECK
: nop @ encoding
: [0x00,0xf0,0x20,0xe3]
3558 @ CHECK
: hintgt
#239 @ encoding: [0xef,0xf0,0x20,0xc3]