Fix #13241, a bug around shift immediate operand for ARM instruction ADR.
[oota-llvm.git] / test / MC / Disassembler / ARM / basic-arm-instructions.txt
1 # RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s
2
3 #------------------------------------------------------------------------------
4 # ADC (immediate)
5 #------------------------------------------------------------------------------
6 # CHECK: adc r1, r2, #15
7 # CHECK: adc r1, r2, #240
8 # CHECK: adc r1, r2, #3840
9 # CHECK: adc r1, r2, #61440
10 # CHECK: adc r1, r2, #983040
11 # CHECK: adc r1, r2, #15728640
12 # CHECK: adc r1, r2, #251658240
13 # CHECK: adc r1, r2, #4026531840
14 # CHECK: adc r1, r2, #4026531855
15 # CHECK: adcs r1, r2, #3840
16 # CHECK: adcseq r1, r2, #3840
17 # CHECK: adceq r1, r2, #3840
18
19 0x0f 0x10 0xa2 0xe2
20 0xf0 0x10 0xa2 0xe2
21 0x0f 0x1c 0xa2 0xe2
22 0x0f 0x1a 0xa2 0xe2
23 0x0f 0x18 0xa2 0xe2
24 0x0f 0x16 0xa2 0xe2
25 0x0f 0x14 0xa2 0xe2
26 0x0f 0x12 0xa2 0xe2
27 0xff 0x12 0xa2 0xe2
28
29 0x0f 0x1c 0xb2 0xe2
30 0x0f 0x1c 0xb2 0x02
31 0x0f 0x1c 0xa2 0x02
32
33 #------------------------------------------------------------------------------
34 # ADC (register)
35 # ADC (shifted register)
36 #------------------------------------------------------------------------------
37 # CHECK: adc r4, r5, r6
38
39 # CHECK: adc r4, r5, r6, lsl #1
40 # CHECK: adc r4, r5, r6, lsl #31
41 # CHECK: adc r4, r5, r6, lsr #1
42 # CHECK: adc r4, r5, r6, lsr #31
43 # CHECK: adc r4, r5, r6, lsr #32
44 # CHECK: adc r4, r5, r6, asr #1
45 # CHECK: adc r4, r5, r6, asr #31
46 # CHECK: adc r4, r5, r6, asr #32
47 # CHECK: adc r4, r5, r6, ror #1
48 # CHECK: adc r4, r5, r6, ror #31
49
50 # CHECK: adc r6, r7, r8, lsl r9
51 # CHECK: adc r6, r7, r8, lsr r9
52 # CHECK: adc r6, r7, r8, asr r9
53 # CHECK: adc r6, r7, r8, ror r9
54 # CHECK: adc r4, r5, r6, rrx
55
56 # CHECK: adc r5, r5, r6
57 # CHECK: adc r4, r4, r5, lsl #1
58 # CHECK: adc r4, r4, r5, lsl #31
59 # CHECK: adc r4, r4, r5, lsr #1
60 # CHECK: adc r4, r4, r5, lsr #31
61 # CHECK: adc r4, r4, r5, lsr #32
62 # CHECK: adc r4, r4, r5, asr #1
63 # CHECK: adc r4, r4, r5, asr #31
64 # CHECK: adc r4, r4, r5, asr #32
65 # CHECK: adc r4, r4, r5, ror #1
66 # CHECK: adc r4, r4, r5, ror #31
67 # CHECK: adc r4, r4, r5, rrx
68 # CHECK: adc r6, r6, r7, lsl r9
69 # CHECK: adc r6, r6, r7, lsr r9
70 # CHECK: adc r6, r6, r7, asr r9
71 # CHECK: adc r6, r6, r7, ror r9
72 # CHECK: adc r4, r4, r5, rrx
73
74 0x06 0x40 0xa5 0xe0
75
76 0x86 0x40 0xa5 0xe0
77 0x86 0x4f 0xa5 0xe0
78 0xa6 0x40 0xa5 0xe0
79 0xa6 0x4f 0xa5 0xe0
80 0x26 0x40 0xa5 0xe0
81 0xc6 0x40 0xa5 0xe0
82 0xc6 0x4f 0xa5 0xe0
83 0x46 0x40 0xa5 0xe0
84 0xe6 0x40 0xa5 0xe0
85 0xe6 0x4f 0xa5 0xe0
86
87 0x18 0x69 0xa7 0xe0
88 0x38 0x69 0xa7 0xe0
89 0x58 0x69 0xa7 0xe0
90 0x78 0x69 0xa7 0xe0
91 0x66 0x40 0xa5 0xe0
92
93 0x06 0x50 0xa5 0xe0
94 0x85 0x40 0xa4 0xe0
95 0x85 0x4f 0xa4 0xe0
96 0xa5 0x40 0xa4 0xe0
97 0xa5 0x4f 0xa4 0xe0
98 0x25 0x40 0xa4 0xe0
99 0xc5 0x40 0xa4 0xe0
100 0xc5 0x4f 0xa4 0xe0
101 0x45 0x40 0xa4 0xe0
102 0xe5 0x40 0xa4 0xe0
103 0xe5 0x4f 0xa4 0xe0
104 0x65 0x40 0xa4 0xe0
105 0x17 0x69 0xa6 0xe0
106 0x37 0x69 0xa6 0xe0
107 0x57 0x69 0xa6 0xe0
108 0x77 0x69 0xa6 0xe0
109 0x65 0x40 0xa4 0xe0
110
111 #------------------------------------------------------------------------------
112 # ADD
113 #------------------------------------------------------------------------------
114 # CHECK: add r4, r5, #61440
115 # CHECK: add r4, r5, r6
116 # CHECK: add r4, r5, r6, lsl #5
117 # CHECK: add r4, r5, r6, lsr #5
118 # CHECK: add r4, r5, r6, lsr #5
119 # CHECK: add r4, r5, r6, asr #5
120 # CHECK: add r4, r5, r6, ror #5
121 # CHECK: add r6, r7, r8, lsl r9
122 # CHECK: add r6, r7, r8, lsr r9
123 # CHECK: add r6, r7, r8, asr r9
124 # CHECK: add r6, r7, r8, ror r9
125 # CHECK: add r4, r5, r6, rrx
126
127 # CHECK: add r5, r5, #61440
128 # CHECK: add r4, r4, r5
129 # CHECK: add r4, r4, r5, lsl #5
130 # CHECK: add r4, r4, r5, lsr #5
131 # CHECK: add r4, r4, r5, lsr #5
132 # CHECK: add r4, r4, r5, asr #5
133 # CHECK: add r4, r4, r5, ror #5
134 # CHECK: add r6, r6, r7, lsl r9
135 # CHECK: add r6, r6, r7, lsr r9
136 # CHECK: add r6, r6, r7, asr r9
137 # CHECK: add r6, r6, r7, ror r9
138 # CHECK: add r4, r4, r5, rrx
139
140 0x0f 0x4a 0x85 0xe2
141 0x06 0x40 0x85 0xe0
142 0x86 0x42 0x85 0xe0
143 0xa6 0x42 0x85 0xe0
144 0xa6 0x42 0x85 0xe0
145 0xc6 0x42 0x85 0xe0
146 0xe6 0x42 0x85 0xe0
147 0x18 0x69 0x87 0xe0
148 0x38 0x69 0x87 0xe0
149 0x58 0x69 0x87 0xe0
150 0x78 0x69 0x87 0xe0
151 0x66 0x40 0x85 0xe0
152
153
154 0x0f 0x5a 0x85 0xe2
155 0x05 0x40 0x84 0xe0
156 0x85 0x42 0x84 0xe0
157 0xa5 0x42 0x84 0xe0
158 0xa5 0x42 0x84 0xe0
159 0xc5 0x42 0x84 0xe0
160 0xe5 0x42 0x84 0xe0
161 0x17 0x69 0x86 0xe0
162 0x37 0x69 0x86 0xe0
163 0x57 0x69 0x86 0xe0
164 0x77 0x69 0x86 0xe0
165 0x65 0x40 0x84 0xe0
166
167 #------------------------------------------------------------------------------
168 # ADR
169 #------------------------------------------------------------------------------
170 # CHECK: add    r2, pc, #3
171 # CHECK: sub    r2, pc, #3
172 # CHECK: sub    r1, pc, #0
173 # CHECK: sub    r1, pc, #301989888
174 # CHECK: add    r1, pc, #301989888
175
176 0x03 0x20 0x8f 0xe2
177 0x03 0x20 0x4f 0xe2
178 0x00 0x10 0x4f 0xe2
179 0x12 0x14 0x4f 0xe2
180 0x12 0x14 0x8f 0xe2
181
182 #------------------------------------------------------------------------------
183 # AND
184 #------------------------------------------------------------------------------
185 # CHECK: and r10, r1, #15
186 # CHECK: and r10, r1, r6
187 # CHECK: and r10, r1, r6, lsl #10
188 # CHECK: and r10, r1, r6, lsr #10
189 # CHECK: and r10, r1, r6, lsr #10
190 # CHECK: and r10, r1, r6, asr #10
191 # CHECK: and r10, r1, r6, ror #10
192 # CHECK: and r6, r7, r8, lsl r2
193 # CHECK: and r6, r7, r8, lsr r2
194 # CHECK: and r6, r7, r8, asr r2
195 # CHECK: and r6, r7, r8, ror r2
196 # CHECK: and r10, r1, r6, rrx
197
198 # CHECK: and r1, r1, #15
199 # CHECK: and r10, r10, r1
200 # CHECK: and r10, r10, r1, lsl #10
201 # CHECK: and r10, r10, r1, lsr #10
202 # CHECK: and r10, r10, r1, lsr #10
203 # CHECK: and r10, r10, r1, asr #10
204 # CHECK: and r10, r10, r1, ror #10
205 # CHECK: and r6, r6, r7, lsl r2
206 # CHECK: and r6, r6, r7, lsr r2
207 # CHECK: and r6, r6, r7, asr r2
208 # CHECK: and r6, r6, r7, ror r2
209 # CHECK: and r10, r10, r1, rrx
210
211 0x0f 0xa0 0x01 0xe2
212 0x06 0xa0 0x01 0xe0
213 0x06 0xa5 0x01 0xe0
214 0x26 0xa5 0x01 0xe0
215 0x26 0xa5 0x01 0xe0
216 0x46 0xa5 0x01 0xe0
217 0x66 0xa5 0x01 0xe0
218 0x18 0x62 0x07 0xe0
219 0x38 0x62 0x07 0xe0
220 0x58 0x62 0x07 0xe0
221 0x78 0x62 0x07 0xe0
222 0x66 0xa0 0x01 0xe0
223
224 0x0f 0x10 0x01 0xe2
225 0x01 0xa0 0x0a 0xe0
226 0x01 0xa5 0x0a 0xe0
227 0x21 0xa5 0x0a 0xe0
228 0x21 0xa5 0x0a 0xe0
229 0x41 0xa5 0x0a 0xe0
230 0x61 0xa5 0x0a 0xe0
231 0x17 0x62 0x06 0xe0
232 0x37 0x62 0x06 0xe0
233 0x57 0x62 0x06 0xe0
234 0x77 0x62 0x06 0xe0
235 0x61 0xa0 0x0a 0xe0
236
237 #------------------------------------------------------------------------------
238 # FIXME: ASR
239 #------------------------------------------------------------------------------
240
241 #------------------------------------------------------------------------------
242 # BFC
243 #------------------------------------------------------------------------------
244 # CHECK: bfc r5, #3, #17
245 # CHECK: bfclo r5, #3, #17
246
247 0x9f 0x51 0xd3 0xe7
248 0x9f 0x51 0xd3 0x37
249
250
251 #------------------------------------------------------------------------------
252 # BFI
253 #------------------------------------------------------------------------------
254 # CHECK: bfi r5, r2, #3, #17
255 # CHECK: bfine r5, r2, #3, #17
256
257 0x92 0x51 0xd3 0xe7
258 0x92 0x51 0xd3 0x17
259
260
261 #------------------------------------------------------------------------------
262 # BIC
263 #------------------------------------------------------------------------------
264 # CHECK: bic r10, r1, #15
265 # CHECK: bic r10, r1, r6
266 # CHECK: bic r10, r1, r6, lsl #10
267 # CHECK: bic r10, r1, r6, lsr #10
268 # CHECK: bic r10, r1, r6, lsr #10
269 # CHECK: bic r10, r1, r6, asr #10
270 # CHECK: bic r10, r1, r6, ror #10
271 # CHECK: bic r6, r7, r8, lsl r2
272 # CHECK: bic r6, r7, r8, lsr r2
273 # CHECK: bic r6, r7, r8, asr r2
274 # CHECK: bic r6, r7, r8, ror r2
275 # CHECK: bic r10, r1, r6, rrx
276
277 # CHECK: bic r1, r1, #15
278 # CHECK: bic r10, r10, r1
279 # CHECK: bic r10, r10, r1, lsl #10
280 # CHECK: bic r10, r10, r1, lsr #10
281 # CHECK: bic r10, r10, r1, lsr #10
282 # CHECK: bic r10, r10, r1, asr #10
283 # CHECK: bic r10, r10, r1, ror #10
284 # CHECK: bic r6, r6, r7, lsl r2
285 # CHECK: bic r6, r6, r7, lsr r2
286 # CHECK: bic r6, r6, r7, asr r2
287 # CHECK: bic r6, r6, r7, ror r2
288 # CHECK: bic r10, r10, r1, rrx
289
290 0x0f 0xa0 0xc1 0xe3
291 0x06 0xa0 0xc1 0xe1
292 0x06 0xa5 0xc1 0xe1
293 0x26 0xa5 0xc1 0xe1
294 0x26 0xa5 0xc1 0xe1
295 0x46 0xa5 0xc1 0xe1
296 0x66 0xa5 0xc1 0xe1
297 0x18 0x62 0xc7 0xe1
298 0x38 0x62 0xc7 0xe1
299 0x58 0x62 0xc7 0xe1
300 0x78 0x62 0xc7 0xe1
301 0x66 0xa0 0xc1 0xe1
302
303
304 0x0f 0x10 0xc1 0xe3
305 0x01 0xa0 0xca 0xe1
306 0x01 0xa5 0xca 0xe1
307 0x21 0xa5 0xca 0xe1
308 0x21 0xa5 0xca 0xe1
309 0x41 0xa5 0xca 0xe1
310 0x61 0xa5 0xca 0xe1
311 0x17 0x62 0xc6 0xe1
312 0x37 0x62 0xc6 0xe1
313 0x57 0x62 0xc6 0xe1
314 0x77 0x62 0xc6 0xe1
315 0x61 0xa0 0xca 0xe1
316
317 #------------------------------------------------------------------------------
318 # BKPT
319 #------------------------------------------------------------------------------
320 # CHECK: bkpt #10
321 # CHECK: bkpt #65535
322
323 0x7a 0x00 0x20 0xe1
324 0x7f 0xff 0x2f 0xe1
325
326 #------------------------------------------------------------------------------
327 # BLX (register)
328 #------------------------------------------------------------------------------
329 # CHECK: blx r2
330 # CHECK: blxne r2
331
332 0x32 0xff 0x2f 0xe1
333 0x32 0xff 0x2f 0x11
334
335 #------------------------------------------------------------------------------
336 # BLX (immediate)
337 #------------------------------------------------------------------------------
338 # CHECK: blx    #32424576
339 # CHECK: blx    #16212288
340
341 0xa0 0xb0 0x7b 0xfa
342 0x50 0xd8 0x3d 0xfa
343
344 #------------------------------------------------------------------------------
345 # BX
346 #------------------------------------------------------------------------------
347
348 # CHECK: bx r2
349 # CHECK: bxne r2
350
351 0x12 0xff 0x2f 0xe1
352 0x12 0xff 0x2f 0x11
353
354 #------------------------------------------------------------------------------
355 # BXJ
356 #------------------------------------------------------------------------------
357
358 # CHECK: bxj r2
359 # CHECK: bxjne r2
360
361 0x22 0xff 0x2f 0xe1
362 0x22 0xff 0x2f 0x11
363
364
365 #------------------------------------------------------------------------------
366 # CDP/CDP2
367 #------------------------------------------------------------------------------
368 # CHECK: cdp  p7, #1, c1, c1, c1, #4
369 # CHECK: cdp2  p7, #1, c1, c1, c1, #4
370
371 0x81 0x17 0x11 0xee
372 0x81 0x17 0x11 0xfe
373
374
375 #------------------------------------------------------------------------------
376 # CLREX
377 #------------------------------------------------------------------------------
378 # CHECK: clrex
379
380 0x1f 0xf0 0x7f 0xf5
381
382
383 #------------------------------------------------------------------------------
384 # CLZ
385 #------------------------------------------------------------------------------
386 # CHECK: clz r1, r2
387 # CHECK: clzeq r1, r2
388
389 0x12 0x1f 0x6f 0xe1
390 0x12 0x1f 0x6f 0x01
391
392 #------------------------------------------------------------------------------
393 # CMN
394 #------------------------------------------------------------------------------
395 # CHECK: cmn r1, #15
396 # CHECK: cmn r1, r6
397 # CHECK: cmn r1, r6, lsl #10
398 # CHECK: cmn r1, r6, lsr #10
399 # CHECK: cmn sp, r6, lsr #10
400 # CHECK: cmn r1, r6, asr #10
401 # CHECK: cmn r1, r6, ror #10
402 # CHECK: cmn r7, r8, lsl r2
403 # CHECK: cmn sp, r8, lsr r2
404 # CHECK: cmn r7, r8, asr r2
405 # CHECK: cmn r7, r8, ror r2
406 # CHECK: cmn r1, r6, rrx
407
408 0x0f 0x00 0x71 0xe3
409 0x06 0x00 0x71 0xe1
410 0x06 0x05 0x71 0xe1
411 0x26 0x05 0x71 0xe1
412 0x26 0x05 0x7d 0xe1
413 0x46 0x05 0x71 0xe1
414 0x66 0x05 0x71 0xe1
415 0x18 0x02 0x77 0xe1
416 0x38 0x02 0x7d 0xe1
417 0x58 0x02 0x77 0xe1
418 0x78 0x02 0x77 0xe1
419 0x66 0x00 0x71 0xe1
420
421 #------------------------------------------------------------------------------
422 # CMP
423 #------------------------------------------------------------------------------
424 # CHECK: cmp r1, #15
425 # CHECK: cmp r1, r6
426 # CHECK: cmp r1, r6, lsl #10
427 # CHECK: cmp r1, r6, lsr #10
428 # CHECK: cmp sp, r6, lsr #10
429 # CHECK: cmp r1, r6, asr #10
430 # CHECK: cmp r1, r6, ror #10
431 # CHECK: cmp r7, r8, lsl r2
432 # CHECK: cmp sp, r8, lsr r2
433 # CHECK: cmp r7, r8, asr r2
434 # CHECK: cmp r7, r8, ror r2
435 # CHECK: cmp r1, r6, rrx
436
437 0x0f 0x00 0x51 0xe3
438 0x06 0x00 0x51 0xe1
439 0x06 0x05 0x51 0xe1
440 0x26 0x05 0x51 0xe1
441 0x26 0x05 0x5d 0xe1
442 0x46 0x05 0x51 0xe1
443 0x66 0x05 0x51 0xe1
444 0x18 0x02 0x57 0xe1
445 0x38 0x02 0x5d 0xe1
446 0x58 0x02 0x57 0xe1
447 0x78 0x02 0x57 0xe1
448 0x66 0x00 0x51 0xe1
449
450
451 #------------------------------------------------------------------------------
452 # CPS
453 #------------------------------------------------------------------------------
454 # CHECK: cpsie  aif
455 # CHECK: cps  #15
456 # CHECK: cpsid  if, #10
457
458 0xc0 0x01 0x08 0xf1
459 0x0f 0x00 0x02 0xf1
460 0xca 0x00 0x0e 0xf1
461
462
463 #------------------------------------------------------------------------------
464 # DBG
465 #------------------------------------------------------------------------------
466 # CHECK: dbg #0
467 # CHECK: dbg #5
468 # CHECK: dbg #15
469
470 0xf0 0xf0 0x20 0xe3
471 0xf5 0xf0 0x20 0xe3
472 0xff 0xf0 0x20 0xe3
473
474
475 #------------------------------------------------------------------------------
476 # DMB
477 #------------------------------------------------------------------------------
478 # CHECK: dmb sy
479 # CHECK: dmb st
480 # CHECK: dmb ish
481 # CHECK: dmb ishst
482 # CHECK: dmb nsh
483 # CHECK: dmb nshst
484 # CHECK: dmb osh
485 # CHECK: dmb oshst
486 # CHECK: dmb
487
488 0x5f 0xf0 0x7f 0xf5
489 0x5e 0xf0 0x7f 0xf5
490 0x5b 0xf0 0x7f 0xf5
491 0x5a 0xf0 0x7f 0xf5
492 0x57 0xf0 0x7f 0xf5
493 0x56 0xf0 0x7f 0xf5
494 0x53 0xf0 0x7f 0xf5
495 0x52 0xf0 0x7f 0xf5
496 0x5f 0xf0 0x7f 0xf5
497
498 #------------------------------------------------------------------------------
499 # DSB
500 #------------------------------------------------------------------------------
501 # CHECK: dsb sy
502 # CHECK: dsb st
503 # CHECK: dsb ish
504 # CHECK: dsb ishst
505 # CHECK: dsb nsh
506 # CHECK: dsb nshst
507 # CHECK: dsb osh
508 # CHECK: dsb oshst
509 # CHECK: dsb
510
511 0x4f 0xf0 0x7f 0xf5
512 0x4e 0xf0 0x7f 0xf5
513 0x4b 0xf0 0x7f 0xf5
514 0x4a 0xf0 0x7f 0xf5
515 0x47 0xf0 0x7f 0xf5
516 0x46 0xf0 0x7f 0xf5
517 0x43 0xf0 0x7f 0xf5
518 0x42 0xf0 0x7f 0xf5
519 0x4f 0xf0 0x7f 0xf5
520
521 #------------------------------------------------------------------------------
522 # EOR
523 #------------------------------------------------------------------------------
524 # CHECK: eor r4, r5, #61440
525 # CHECK: eor r4, r5, r6
526 # CHECK: eor r4, r5, r6, lsl #5
527 # CHECK: eor r4, r5, r6, lsr #5
528 # CHECK: eor r4, r5, r6, lsr #5
529 # CHECK: eor r4, r5, r6, asr #5
530 # CHECK: eor r4, r5, r6, ror #5
531 # CHECK: eor r6, r7, r8, lsl r9
532 # CHECK: eor r6, r7, r8, lsr r9
533 # CHECK: eor r6, r7, r8, asr r9
534 # CHECK: eor r6, r7, r8, ror r9
535 # CHECK: eor r4, r5, r6, rrx
536
537 # CHECK: eor r5, r5, #61440
538 # CHECK: eor r4, r4, r5
539 # CHECK: eor r4, r4, r5, lsl #5
540 # CHECK: eor r4, r4, r5, lsr #5
541 # CHECK: eor r4, r4, r5, lsr #5
542 # CHECK: eor r4, r4, r5, asr #5
543 # CHECK: eor r4, r4, r5, ror #5
544 # CHECK: eor r6, r6, r7, lsl r9
545 # CHECK: eor r6, r6, r7, lsr r9
546 # CHECK: eor r6, r6, r7, asr r9
547 # CHECK: eor r6, r6, r7, ror r9
548 # CHECK: eor r4, r4, r5, rrx
549
550 0x0f 0x4a 0x25 0xe2
551 0x06 0x40 0x25 0xe0
552 0x86 0x42 0x25 0xe0
553 0xa6 0x42 0x25 0xe0
554 0xa6 0x42 0x25 0xe0
555 0xc6 0x42 0x25 0xe0
556 0xe6 0x42 0x25 0xe0
557 0x18 0x69 0x27 0xe0
558 0x38 0x69 0x27 0xe0
559 0x58 0x69 0x27 0xe0
560 0x78 0x69 0x27 0xe0
561 0x66 0x40 0x25 0xe0
562
563
564 0x0f 0x5a 0x25 0xe2
565 0x05 0x40 0x24 0xe0
566 0x85 0x42 0x24 0xe0
567 0xa5 0x42 0x24 0xe0
568 0xa5 0x42 0x24 0xe0
569 0xc5 0x42 0x24 0xe0
570 0xe5 0x42 0x24 0xe0
571 0x17 0x69 0x26 0xe0
572 0x37 0x69 0x26 0xe0
573 0x57 0x69 0x26 0xe0
574 0x77 0x69 0x26 0xe0
575 0x65 0x40 0x24 0xe0
576
577
578 #------------------------------------------------------------------------------
579 # ISB
580 #------------------------------------------------------------------------------
581 # CHECK: isb sy
582
583 0x6f 0xf0 0x7f 0xf5
584
585
586
587 #------------------------------------------------------------------------------
588 # LDM*
589 #------------------------------------------------------------------------------
590 # CHECK: ldm       r2, {r1, r3, r4, r5, r6, sp}
591 # CHECK: ldmib     r2, {r1, r3, r4, r5, r6, sp}
592 # CHECK: ldmda     r2, {r1, r3, r4, r5, r6, sp}
593 # CHECK: ldmdb     r2, {r1, r3, r4, r5, r6, sp}
594
595
596 # CHECK: ldm       r2!, {r1, r3, r4, r5, r6, sp}
597 # CHECK: ldmib     r2!, {r1, r3, r4, r5, r6, sp}
598 # CHECK: ldmda     r2!, {r1, r3, r4, r5, r6, sp}
599 # CHECK: ldmdb     r2!, {r1, r3, r4, r5, r6, sp}
600
601 0x7a 0x20 0x92 0xe8
602 0x7a 0x20 0x92 0xe9
603 0x7a 0x20 0x12 0xe8
604 0x7a 0x20 0x12 0xe9
605
606 0x7a 0x20 0xb2 0xe8
607 0x7a 0x20 0xb2 0xe9
608 0x7a 0x20 0x32 0xe8
609 0x7a 0x20 0x32 0xe9
610
611
612 #------------------------------------------------------------------------------
613 # LDREX/LDREXB/LDREXH/LDREXD
614 #------------------------------------------------------------------------------
615 # CHECK: ldrexb  r3, [r4]
616 # CHECK: ldrexh  r2, [r5]
617 # CHECK: ldrex  r1, [r7]
618 # CHECK: ldrexd  r6, r7, [r8]
619
620 0x9f 0x3f 0xd4 0xe1
621 0x9f 0x2f 0xf5 0xe1
622 0x9f 0x1f 0x97 0xe1
623 0x9f 0x6f 0xb8 0xe1
624
625
626 #------------------------------------------------------------------------------
627 # FIXME: LSL
628 #------------------------------------------------------------------------------
629 #------------------------------------------------------------------------------
630 # FIXME: LSR
631 #------------------------------------------------------------------------------
632
633 #------------------------------------------------------------------------------
634 # MCR/MCR2
635 #------------------------------------------------------------------------------
636 # CHECK: mcr  p7, #1, r5, c1, c1, #4
637 # CHECK: mcr2  p7, #1, r5, c1, c1, #4
638
639 0x91 0x57 0x21 0xee
640 0x91 0x57 0x21 0xfe
641
642 #------------------------------------------------------------------------------
643 # MCRR/MCRR2
644 #------------------------------------------------------------------------------
645 # CHECK: mcrr  p7, #15, r5, r4, c1
646 # CHECK: mcrr2  p7, #15, r5, r4, c1
647
648 0xf1 0x57 0x44 0xec
649 0xf1 0x57 0x44 0xfc
650
651
652 #------------------------------------------------------------------------------
653 # MLA
654 #------------------------------------------------------------------------------
655 # CHECK: mla  r1, r2, r3, r4
656 # CHECK: mlas r1, r2, r3, r4
657 # CHECK: mlane  r1, r2, r3, r4
658 # CHECK: mlasne r1, r2, r3, r4
659
660 0x92 0x43 0x21 0xe0
661 0x92 0x43 0x31 0xe0
662 0x92 0x43 0x21 0x10
663 0x92 0x43 0x31 0x10
664
665 #------------------------------------------------------------------------------
666 # MLS
667 #------------------------------------------------------------------------------
668 # CHECK: mls  r2, r5, r6, r3
669 # CHECK: mlsne  r2, r5, r6, r3
670
671 0x95 0x36 0x62 0xe0
672 0x95 0x36 0x62 0x10
673
674 #------------------------------------------------------------------------------
675 # MOV (immediate)
676 #------------------------------------------------------------------------------
677 # CHECK: mov r3, #7
678 # CHECK: mov r4, #4080
679 # CHECK: mov r5, #16711680
680 # CHECK: movw r6, #65535
681 # CHECK: movw r9, #65535
682 # CHECK: movs r3, #7
683 # CHECK: moveq r4, #4080
684 # CHECK: movseq r5, #16711680
685
686 0x07 0x30 0xa0 0xe3
687 0xff 0x4e 0xa0 0xe3
688 0xff 0x58 0xa0 0xe3
689 0xff 0x6f 0x0f 0xe3
690 0xff 0x9f 0x0f 0xe3
691 0x07 0x30 0xb0 0xe3
692 0xff 0x4e 0xa0 0x03
693 0xff 0x58 0xb0 0x03
694
695 #------------------------------------------------------------------------------
696 # MOV (register)
697 #------------------------------------------------------------------------------
698 # CHECK: mov r2, r3
699 # CHECK: movs r2, r3
700 # CHECK: moveq r2, r3
701 # CHECK: movseq r2, r3
702
703 0x03 0x20 0xa0 0xe1
704 0x03 0x20 0xb0 0xe1
705 0x03 0x20 0xa0 0x01
706 0x03 0x20 0xb0 0x01
707
708 #------------------------------------------------------------------------------
709 # MOVT
710 #------------------------------------------------------------------------------
711 # CHECK: movt r3, #7
712 # CHECK: movt r6, #65535
713 # CHECK: movteq r4, #4080
714
715 0x07 0x30 0x40 0xe3
716 0xff 0x6f 0x4f 0xe3
717 0xf0 0x4f 0x40 0x03
718
719
720 #------------------------------------------------------------------------------
721 # MRC/MRC2
722 #------------------------------------------------------------------------------
723 # CHECK: mrc  p14, #0, r1, c1, c2, #4
724 # CHECK: mrc2  p14, #0, r1, c1, c2, #4
725
726 0x92 0x1e 0x11 0xee
727 0x92 0x1e 0x11 0xfe
728
729 #------------------------------------------------------------------------------
730 # MRRC/MRRC2
731 #------------------------------------------------------------------------------
732 # CHECK: mrrc  p7, #1, r5, r4, c1
733 # CHECK: mrrc2  p7, #1, r5, r4, c1
734
735 0x11 0x57 0x54 0xec
736 0x11 0x57 0x54 0xfc
737
738
739 #------------------------------------------------------------------------------
740 # MRS
741 #------------------------------------------------------------------------------
742 # CHECK: mrs  r8, apsr
743 # CHECK: mrs  r8, spsr
744 0x00 0x80 0x0f 0xe1
745 0x00 0x80 0x4f 0xe1
746
747
748
749 #------------------------------------------------------------------------------
750 # MSR
751 #------------------------------------------------------------------------------
752
753 # CHECK: msr  CPSR_fc, #5
754 # CHECK: msr  APSR_g, #5
755 # CHECK: msr  APSR_nzcvq, #5
756 # CHECK: msr  APSR_nzcvq, #5
757 # CHECK: msr  APSR_nzcvqg, #5
758 # CHECK: msr  CPSR_fc, #5
759 # CHECK: msr  CPSR_c, #5
760 # CHECK: msr  CPSR_x, #5
761 # CHECK: msr  CPSR_fc, #5
762 # CHECK: msr  CPSR_fc, #5
763 # CHECK: msr  CPSR_fsx, #5
764 # CHECK: msr  SPSR_fc, #5
765 # CHECK: msr  SPSR_fsxc, #5
766 # CHECK: msr  CPSR_fsxc, #5
767
768 0x05 0xf0 0x29 0xe3
769 0x05 0xf0 0x24 0xe3
770 0x05 0xf0 0x28 0xe3
771 0x05 0xf0 0x28 0xe3
772 0x05 0xf0 0x2c 0xe3
773 0x05 0xf0 0x29 0xe3
774 0x05 0xf0 0x21 0xe3
775 0x05 0xf0 0x22 0xe3
776 0x05 0xf0 0x29 0xe3
777 0x05 0xf0 0x29 0xe3
778 0x05 0xf0 0x2e 0xe3
779 0x05 0xf0 0x69 0xe3
780 0x05 0xf0 0x6f 0xe3
781 0x05 0xf0 0x2f 0xe3
782
783 # CHECK: msr  CPSR_fc, r0
784 # CHECK: msr  APSR_g, r0
785 # CHECK: msr  APSR_nzcvq, r0
786 # CHECK: msr  APSR_nzcvq, r0
787 # CHECK: msr  APSR_nzcvqg, r0
788 # CHECK: msr  CPSR_fc, r0
789 # CHECK: msr  CPSR_c, r0
790 # CHECK: msr  CPSR_x, r0
791 # CHECK: msr  CPSR_fc, r0
792 # CHECK: msr  CPSR_fc, r0
793 # CHECK: msr  CPSR_fsx, r0
794 # CHECK: msr  SPSR_fc, r0
795 # CHECK: msr  SPSR_fsxc, r0
796 # CHECK: msr  CPSR_fsxc, r0
797
798 0x00 0xf0 0x29 0xe1
799 0x00 0xf0 0x24 0xe1
800 0x00 0xf0 0x28 0xe1
801 0x00 0xf0 0x28 0xe1
802 0x00 0xf0 0x2c 0xe1
803 0x00 0xf0 0x29 0xe1
804 0x00 0xf0 0x21 0xe1
805 0x00 0xf0 0x22 0xe1
806 0x00 0xf0 0x29 0xe1
807 0x00 0xf0 0x29 0xe1
808 0x00 0xf0 0x2e 0xe1
809 0x00 0xf0 0x69 0xe1
810 0x00 0xf0 0x6f 0xe1
811 0x00 0xf0 0x2f 0xe1
812
813 #------------------------------------------------------------------------------
814 # MUL
815 #------------------------------------------------------------------------------
816
817 # CHECK: mul r5, r6, r7
818 # CHECK: muls r5, r6, r7
819 # CHECK: mulgt r5, r6, r7
820 # CHECK: mulsle r5, r6, r7
821
822 0x96 0x07 0x05 0xe0
823 0x96 0x07 0x15 0xe0
824 0x96 0x07 0x05 0xc0
825 0x96 0x07 0x15 0xd0
826
827
828 #------------------------------------------------------------------------------
829 # MVN (immediate)
830 #------------------------------------------------------------------------------
831 # CHECK: mvn r3, #7
832 # CHECK: mvn r4, #4080
833 # CHECK: mvn r5, #16711680
834 # CHECK: mvns r3, #7
835 # CHECK: mvneq r4, #4080
836 # CHECK: mvnseq r5, #16711680
837
838 0x07 0x30 0xe0 0xe3
839 0xff 0x4e 0xe0 0xe3
840 0xff 0x58 0xe0 0xe3
841 0x07 0x30 0xf0 0xe3
842 0xff 0x4e 0xe0 0x03
843 0xff 0x58 0xf0 0x03
844
845
846 #------------------------------------------------------------------------------
847 # MVN (register)
848 #------------------------------------------------------------------------------
849 # CHECK: mvn r2, r3
850 # CHECK: mvns r2, r3
851 # CHECK: mvn r5, r6, lsl #19
852 # CHECK: mvn r5, r6, lsr #9
853 # CHECK: mvn r5, r6, asr #4
854 # CHECK: mvn r5, r6, ror #6
855 # CHECK: mvn r5, r6, rrx
856 # CHECK: mvneq r2, r3
857 # CHECK: mvnseq r2, r3, lsl #10
858
859 0x03 0x20 0xe0 0xe1
860 0x03 0x20 0xf0 0xe1
861 0x86 0x59 0xe0 0xe1
862 0xa6 0x54 0xe0 0xe1
863 0x46 0x52 0xe0 0xe1
864 0x66 0x53 0xe0 0xe1
865 0x66 0x50 0xe0 0xe1
866 0x03 0x20 0xe0 0x01
867 0x03 0x25 0xf0 0x01
868
869
870 #------------------------------------------------------------------------------
871 # MVN (shifted register)
872 #------------------------------------------------------------------------------
873 # CHECK: mvn r5, r6, lsl r7
874 # CHECK: mvns r5, r6, lsr r7
875 # CHECK: mvngt r5, r6, asr r7
876 # CHECK: mvnslt r5, r6, ror r7
877
878 0x16 0x57 0xe0 0xe1
879 0x36 0x57 0xf0 0xe1
880 0x56 0x57 0xe0 0xc1
881 0x76 0x57 0xf0 0xb1
882
883 #------------------------------------------------------------------------------
884 # NOP
885 #------------------------------------------------------------------------------
886 # CHECK: nop
887 # CHECK: nopgt
888
889 0x00 0xf0 0x20 0xe3
890 0x00 0xf0 0x20 0xc3
891
892
893 #------------------------------------------------------------------------------
894 # ORR
895 #------------------------------------------------------------------------------
896 # CHECK: orr r4, r5, #61440
897 # CHECK: orr r4, r5, r6
898 # CHECK: orr r4, r5, r6, lsl #5
899 # CHECK: orr r4, r5, r6, lsr #5
900 # CHECK: orr r4, r5, r6, lsr #5
901 # CHECK: orr r4, r5, r6, asr #5
902 # CHECK: orr r4, r5, r6, ror #5
903 # CHECK: orr r6, r7, r8, lsl r9
904 # CHECK: orr r6, r7, r8, lsr r9
905 # CHECK: orr r6, r7, r8, asr r9
906 # CHECK: orr r6, r7, r8, ror r9
907 # CHECK: orr r4, r5, r6, rrx
908
909 # CHECK: orr r5, r5, #61440
910 # CHECK: orr r4, r4, r5
911 # CHECK: orr r4, r4, r5, lsl #5
912 # CHECK: orr r4, r4, r5, lsr #5
913 # CHECK: orr r4, r4, r5, lsr #5
914 # CHECK: orr r4, r4, r5, asr #5
915 # CHECK: orr r4, r4, r5, ror #5
916 # CHECK: orr r6, r6, r7, lsl r9
917 # CHECK: orr r6, r6, r7, lsr r9
918 # CHECK: orr r6, r6, r7, asr r9
919 # CHECK: orr r6, r6, r7, ror r9
920 # CHECK: orr r4, r4, r5, rrx
921
922 0x0f 0x4a 0x85 0xe3
923 0x06 0x40 0x85 0xe1
924 0x86 0x42 0x85 0xe1
925 0xa6 0x42 0x85 0xe1
926 0xa6 0x42 0x85 0xe1
927 0xc6 0x42 0x85 0xe1
928 0xe6 0x42 0x85 0xe1
929 0x18 0x69 0x87 0xe1
930 0x38 0x69 0x87 0xe1
931 0x58 0x69 0x87 0xe1
932 0x78 0x69 0x87 0xe1
933 0x66 0x40 0x85 0xe1
934
935 0x0f 0x5a 0x85 0xe3
936 0x05 0x40 0x84 0xe1
937 0x85 0x42 0x84 0xe1
938 0xa5 0x42 0x84 0xe1
939 0xa5 0x42 0x84 0xe1
940 0xc5 0x42 0x84 0xe1
941 0xe5 0x42 0x84 0xe1
942 0x17 0x69 0x86 0xe1
943 0x37 0x69 0x86 0xe1
944 0x57 0x69 0x86 0xe1
945 0x77 0x69 0x86 0xe1
946 0x65 0x40 0x84 0xe1
947
948 # CHECK: orrseq r4, r5, #61440
949 # CHECK: orrne r4, r5, r6
950 # CHECK: orrseq r4, r5, r6, lsl #5
951 # CHECK: orrlo r6, r7, r8, ror r9
952 # CHECK: orrshi r4, r5, r6, rrx
953 # CHECK: orrhs r5, r5, #61440
954 # CHECK: orrseq r4, r4, r5
955 # CHECK: orrne r6, r6, r7, asr r9
956 # CHECK: orrslt r6, r6, r7, ror r9
957 # CHECK: orrsgt r4, r4, r5, rrx
958
959 0x0f 0x4a 0x95 0x03
960 0x06 0x40 0x85 0x11
961 0x86 0x42 0x95 0x01
962 0x78 0x69 0x87 0x31
963 0x66 0x40 0x95 0x81
964 0x0f 0x5a 0x85 0x23
965 0x05 0x40 0x94 0x01
966 0x57 0x69 0x86 0x11
967 0x77 0x69 0x96 0xb1
968 0x65 0x40 0x94 0xc1
969
970 #------------------------------------------------------------------------------
971 # PKH
972 #------------------------------------------------------------------------------
973 # CHECK: pkhbt r2, r2, r3
974 # CHECK: pkhbt r2, r2, r3, lsl #31
975 # CHECK: pkhbt r2, r2, r3
976 # CHECK: pkhbt r2, r2, r3, lsl #15
977
978 # CHECK: pkhbt r2, r2, r3
979 # CHECK: pkhtb r2, r2, r3, asr #31
980 # CHECK: pkhtb r2, r2, r3, asr #15
981
982 0x13 0x20 0x82 0xe6
983 0x93 0x2f 0x82 0xe6
984 0x13 0x20 0x82 0xe6
985 0x93 0x27 0x82 0xe6
986
987 0x13 0x20 0x82 0xe6
988 0xd3 0x2f 0x82 0xe6
989 0xd3 0x27 0x82 0xe6
990
991 #------------------------------------------------------------------------------
992 # FIXME: PLD
993 #------------------------------------------------------------------------------
994 #------------------------------------------------------------------------------
995 # FIXME: PLI
996 #------------------------------------------------------------------------------
997
998
999 #------------------------------------------------------------------------------
1000 # POP
1001 #------------------------------------------------------------------------------
1002 # CHECK: ldr r7, [sp], #4
1003 # CHECK: pop {r7, r8, r9, r10}
1004
1005 0x04 0x70 0x9d 0xe4
1006 0x80 0x07 0xbd 0xe8
1007
1008
1009 #------------------------------------------------------------------------------
1010 # PUSH
1011 #------------------------------------------------------------------------------
1012 # CHECK: str r7, [sp, #-4]!
1013 # CHECK: push {r7, r8, r9, r10}
1014
1015 0x04 0x70 0x2d 0xe5
1016 0x80 0x07 0x2d 0xe9
1017
1018
1019 #------------------------------------------------------------------------------
1020 # QADD/QADD16/QADD8
1021 #------------------------------------------------------------------------------
1022 # CHECK: qadd r1, r2, r3
1023 # CHECK: qaddne r1, r2, r3
1024 # CHECK: qadd16 r1, r2, r3
1025 # CHECK: qadd16gt r1, r2, r3
1026 # CHECK: qadd8 r1, r2, r3
1027 # CHECK: qadd8le r1, r2, r3
1028
1029 0x52 0x10 0x03 0xe1
1030 0x52 0x10 0x03 0x11
1031 0x13 0x1f 0x22 0xe6
1032 0x13 0x1f 0x22 0xc6
1033 0x93 0x1f 0x22 0xe6
1034 0x93 0x1f 0x22 0xd6
1035
1036
1037 #------------------------------------------------------------------------------
1038 # QDADD/QDSUB
1039 #------------------------------------------------------------------------------
1040 # CHECK: qdadd r6, r7, r8
1041 # CHECK: qdaddhi r6, r7, r8
1042 # CHECK: qdsub r6, r7, r8
1043 # CHECK: qdsubhi r6, r7, r8
1044
1045 0x57 0x60 0x48 0xe1
1046 0x57 0x60 0x48 0x81
1047 0x57 0x60 0x68 0xe1
1048 0x57 0x60 0x68 0x81
1049
1050
1051 #------------------------------------------------------------------------------
1052 # QSAX
1053 #------------------------------------------------------------------------------
1054 # CHECK: qsax r9, r12, r0
1055 # CHECK: qsaxeq r9, r12, r0
1056
1057 0x50 0x9f 0x2c 0xe6
1058 0x50 0x9f 0x2c 0x06
1059
1060
1061 #------------------------------------------------------------------------------
1062 # QSUB/QSUB16/QSUB8
1063 #------------------------------------------------------------------------------
1064 # CHECK: qsub r1, r2, r3
1065 # CHECK: qsubne r1, r2, r3
1066 # CHECK: qsub16 r1, r2, r3
1067 # CHECK: qsub16gt r1, r2, r3
1068 # CHECK: qsub8 r1, r2, r3
1069 # CHECK: qsub8le r1, r2, r3
1070
1071 0x52 0x10 0x23 0xe1
1072 0x52 0x10 0x23 0x11
1073 0x73 0x1f 0x22 0xe6
1074 0x73 0x1f 0x22 0xc6
1075 0xf3 0x1f 0x22 0xe6
1076 0xf3 0x1f 0x22 0xd6
1077
1078
1079 #------------------------------------------------------------------------------
1080 # RBIT
1081 #------------------------------------------------------------------------------
1082 # CHECK: rbit r1, r2
1083 # CHECK: rbitne r1, r2
1084
1085 0x32 0x1f 0xff 0xe6
1086 0x32 0x1f 0xff 0x16
1087
1088
1089 #------------------------------------------------------------------------------
1090 # REV/REV16/REVSH
1091 #------------------------------------------------------------------------------
1092 # CHECK: rev r1, r9
1093 # CHECK: revne r1, r5
1094 # CHECK: rev16 r8, r3
1095 # CHECK: rev16ne r12, r4
1096 # CHECK: revsh r4, r9
1097 # CHECK: revshne r9, r1
1098
1099 0x39 0x1f 0xbf 0xe6
1100 0x35 0x1f 0xbf 0x16
1101 0xb3 0x8f 0xbf 0xe6
1102 0xb4 0xcf 0xbf 0x16
1103 0xb9 0x4f 0xff 0xe6
1104 0xb1 0x9f 0xff 0x16
1105
1106
1107 #------------------------------------------------------------------------------
1108 # RFE
1109 #------------------------------------------------------------------------------
1110 # CHECK: rfeda r2
1111 # CHECK: rfedb r3
1112 # CHECK: rfeia r5
1113 # CHECK: rfeib r6
1114
1115 # CHECK: rfeda r4!
1116 # CHECK: rfedb r7!
1117 # CHECK: rfeia r9!
1118 # CHECK: rfeib r8!
1119
1120 # CHECK: rfeda r2
1121 # CHECK: rfedb r3
1122 # CHECK: rfeia r5
1123 # CHECK: rfeib r6
1124
1125 # CHECK: rfeda r4!
1126 # CHECK: rfedb r7!
1127 # CHECK: rfeia r9!
1128 # CHECK: rfeib r8!
1129
1130 # CHECK: rfeia r1
1131 # CHECK: rfeia r1!
1132
1133 0x00 0x0a 0x12 0xf8
1134 0x00 0x0a 0x13 0xf9
1135 0x00 0x0a 0x95 0xf8
1136 0x00 0x0a 0x96 0xf9
1137
1138 0x00 0x0a 0x34 0xf8
1139 0x00 0x0a 0x37 0xf9
1140 0x00 0x0a 0xb9 0xf8
1141 0x00 0x0a 0xb8 0xf9
1142
1143 0x00 0x0a 0x12 0xf8
1144 0x00 0x0a 0x13 0xf9
1145 0x00 0x0a 0x95 0xf8
1146 0x00 0x0a 0x96 0xf9
1147
1148 0x00 0x0a 0x34 0xf8
1149 0x00 0x0a 0x37 0xf9
1150 0x00 0x0a 0xb9 0xf8
1151 0x00 0x0a 0xb8 0xf9
1152
1153 0x00 0x0a 0x91 0xf8
1154 0x00 0x0a 0xb1 0xf8
1155
1156
1157 #------------------------------------------------------------------------------
1158 # RSB
1159 #------------------------------------------------------------------------------
1160 # CHECK: rsb r4, r5, #61440
1161 # CHECK: rsb r4, r5, r6
1162 # CHECK: rsb r4, r5, r6, lsl #5
1163 # CHECK: rsblo r4, r5, r6, lsr #5
1164 # CHECK: rsb r4, r5, r6, lsr #5
1165 # CHECK: rsb r4, r5, r6, asr #5
1166 # CHECK: rsb r4, r5, r6, ror #5
1167 # CHECK: rsb r6, r7, r8, lsl r9
1168 # CHECK: rsb r6, r7, r8, lsr r9
1169 # CHECK: rsb r6, r7, r8, asr r9
1170 # CHECK: rsble r6, r7, r8, ror r9
1171 # CHECK: rsb r4, r5, r6, rrx
1172
1173 # CHECK: rsb r5, r5, #61440
1174 # CHECK: rsb r4, r4, r5
1175 # CHECK: rsb r4, r4, r5, lsl #5
1176 # CHECK: rsb r4, r4, r5, lsr #5
1177 # CHECK: rsbne r4, r4, r5, lsr #5
1178 # CHECK: rsb r4, r4, r5, asr #5
1179 # CHECK: rsb r4, r4, r5, ror #5
1180 # CHECK: rsbgt r6, r6, r7, lsl r9
1181 # CHECK: rsb r6, r6, r7, lsr r9
1182 # CHECK: rsb r6, r6, r7, asr r9
1183 # CHECK: rsb r6, r6, r7, ror r9
1184 # CHECK: rsb r4, r4, r5, rrx
1185
1186 0x0f 0x4a 0x65 0xe2
1187 0x06 0x40 0x65 0xe0
1188 0x86 0x42 0x65 0xe0
1189 0xa6 0x42 0x65 0x30
1190 0xa6 0x42 0x65 0xe0
1191 0xc6 0x42 0x65 0xe0
1192 0xe6 0x42 0x65 0xe0
1193 0x18 0x69 0x67 0xe0
1194 0x38 0x69 0x67 0xe0
1195 0x58 0x69 0x67 0xe0
1196 0x78 0x69 0x67 0xd0
1197 0x66 0x40 0x65 0xe0
1198
1199 0x0f 0x5a 0x65 0xe2
1200 0x05 0x40 0x64 0xe0
1201 0x85 0x42 0x64 0xe0
1202 0xa5 0x42 0x64 0xe0
1203 0xa5 0x42 0x64 0x10
1204 0xc5 0x42 0x64 0xe0
1205 0xe5 0x42 0x64 0xe0
1206 0x17 0x69 0x66 0xc0
1207 0x37 0x69 0x66 0xe0
1208 0x57 0x69 0x66 0xe0
1209 0x77 0x69 0x66 0xe0
1210 0x65 0x40 0x64 0xe0
1211
1212 #------------------------------------------------------------------------------
1213 # RSC
1214 #------------------------------------------------------------------------------
1215 # CHECK: rsc r4, r5, #61440
1216 # CHECK: rsc r4, r5, r6
1217 # CHECK: rsc r4, r5, r6, lsl #5
1218 # CHECK: rsclo r4, r5, r6, lsr #5
1219 # CHECK: rsc r4, r5, r6, lsr #5
1220 # CHECK: rsc r4, r5, r6, asr #5
1221 # CHECK: rsc r4, r5, r6, ror #5
1222 # CHECK: rsc r6, r7, r8, lsl r9
1223 # CHECK: rsc r6, r7, r8, lsr r9
1224 # CHECK: rsc r6, r7, r8, asr r9
1225 # CHECK: rscle r6, r7, r8, ror r9
1226
1227 # CHECK: rsc r5, r5, #61440
1228 # CHECK: rsc r4, r4, r5
1229 # CHECK: rsc r4, r4, r5, lsl #5
1230 # CHECK: rsc r4, r4, r5, lsr #5
1231 # CHECK: rscne r4, r4, r5, lsr #5
1232 # CHECK: rsc r4, r4, r5, asr #5
1233 # CHECK: rsc r4, r4, r5, ror #5
1234 # CHECK: rscgt r6, r6, r7, lsl r9
1235 # CHECK: rsc r6, r6, r7, lsr r9
1236 # CHECK: rsc r6, r6, r7, asr r9
1237 # CHECK: rsc r6, r6, r7, ror r9
1238
1239 0x0f 0x4a 0xe5 0xe2
1240 0x06 0x40 0xe5 0xe0
1241 0x86 0x42 0xe5 0xe0
1242 0xa6 0x42 0xe5 0x30
1243 0xa6 0x42 0xe5 0xe0
1244 0xc6 0x42 0xe5 0xe0
1245 0xe6 0x42 0xe5 0xe0
1246 0x18 0x69 0xe7 0xe0
1247 0x38 0x69 0xe7 0xe0
1248 0x58 0x69 0xe7 0xe0
1249 0x78 0x69 0xe7 0xd0
1250
1251 0x0f 0x5a 0xe5 0xe2
1252 0x05 0x40 0xe4 0xe0
1253 0x85 0x42 0xe4 0xe0
1254 0xa5 0x42 0xe4 0xe0
1255 0xa5 0x42 0xe4 0x10
1256 0xc5 0x42 0xe4 0xe0
1257 0xe5 0x42 0xe4 0xe0
1258 0x17 0x69 0xe6 0xc0
1259 0x37 0x69 0xe6 0xe0
1260 0x57 0x69 0xe6 0xe0
1261 0x77 0x69 0xe6 0xe0
1262
1263 #------------------------------------------------------------------------------
1264 # SADD16/SADD8
1265 #------------------------------------------------------------------------------
1266 # CHECK: sadd16 r1, r2, r3
1267 # CHECK: sadd16gt r1, r2, r3
1268 # CHECK: sadd8 r1, r2, r3
1269 # CHECK: sadd8le r1, r2, r3
1270
1271 0x13 0x1f 0x12 0xe6
1272 0x13 0x1f 0x12 0xc6
1273 0x93 0x1f 0x12 0xe6
1274 0x93 0x1f 0x12 0xd6
1275
1276
1277 #------------------------------------------------------------------------------
1278 # SASX
1279 #------------------------------------------------------------------------------
1280 # CHECK: sasx r9, r12, r0
1281 # CHECK: sasxeq r9, r12, r0
1282
1283 0x30 0x9f 0x1c 0xe6
1284 0x30 0x9f 0x1c 0x06
1285
1286
1287 #------------------------------------------------------------------------------
1288 # SBC
1289 #------------------------------------------------------------------------------
1290 # CHECK: sbc r4, r5, #61440
1291 # CHECK: sbc r4, r5, r6
1292 # CHECK: sbc r4, r5, r6, lsl #5
1293 # CHECK: sbc r4, r5, r6, lsr #5
1294 # CHECK: sbc r4, r5, r6, lsr #5
1295 # CHECK: sbc r4, r5, r6, asr #5
1296 # CHECK: sbc r4, r5, r6, ror #5
1297 # CHECK: sbc r6, r7, r8, lsl r9
1298 # CHECK: sbc r6, r7, r8, lsr r9
1299 # CHECK: sbc r6, r7, r8, asr r9
1300 # CHECK: sbc r6, r7, r8, ror r9
1301
1302 # CHECK: sbc r5, r5, #61440
1303 # CHECK: sbc r4, r4, r5
1304 # CHECK: sbc r4, r4, r5, lsl #5
1305 # CHECK: sbc r4, r4, r5, lsr #5
1306 # CHECK: sbc r4, r4, r5, lsr #5
1307 # CHECK: sbc r4, r4, r5, asr #5
1308 # CHECK: sbc r4, r4, r5, ror #5
1309 # CHECK: sbc r6, r6, r7, lsl r9
1310 # CHECK: sbc r6, r6, r7, lsr r9
1311 # CHECK: sbc r6, r6, r7, asr r9
1312 # CHECK: sbc r6, r6, r7, ror r9
1313
1314 0x0f 0x4a 0xc5 0xe2
1315 0x06 0x40 0xc5 0xe0
1316 0x86 0x42 0xc5 0xe0
1317 0xa6 0x42 0xc5 0xe0
1318 0xa6 0x42 0xc5 0xe0
1319 0xc6 0x42 0xc5 0xe0
1320 0xe6 0x42 0xc5 0xe0
1321 0x18 0x69 0xc7 0xe0
1322 0x38 0x69 0xc7 0xe0
1323 0x58 0x69 0xc7 0xe0
1324 0x78 0x69 0xc7 0xe0
1325
1326 0x0f 0x5a 0xc5 0xe2
1327 0x05 0x40 0xc4 0xe0
1328 0x85 0x42 0xc4 0xe0
1329 0xa5 0x42 0xc4 0xe0
1330 0xa5 0x42 0xc4 0xe0
1331 0xc5 0x42 0xc4 0xe0
1332 0xe5 0x42 0xc4 0xe0
1333 0x17 0x69 0xc6 0xe0
1334 0x37 0x69 0xc6 0xe0
1335 0x57 0x69 0xc6 0xe0
1336 0x77 0x69 0xc6 0xe0
1337
1338
1339 #------------------------------------------------------------------------------
1340 # SBFX
1341 #------------------------------------------------------------------------------
1342 # CHECK: sbfx r4, r5, #16, #1
1343 # CHECK: sbfxgt r4, r5, #16, #16
1344
1345 0x55 0x48 0xa0 0xe7
1346 0x55 0x48 0xaf 0xc7
1347
1348
1349 #------------------------------------------------------------------------------
1350 # SEL
1351 #------------------------------------------------------------------------------
1352 # CHECK: sel r9, r2, r1
1353 # CHECK: selne r9, r2, r1
1354
1355 0xb1 0x9f 0x82 0xe6
1356 0xb1 0x9f 0x82 0x16
1357
1358
1359 #------------------------------------------------------------------------------
1360 # SETEND
1361 #------------------------------------------------------------------------------
1362 # CHECK: setend be
1363 # CHECK: setend le
1364
1365 0x00 0x02 0x01 0xf1
1366 0x00 0x00 0x01 0xf1
1367
1368 #------------------------------------------------------------------------------
1369 # SEV
1370 #------------------------------------------------------------------------------
1371 # CHECK: sev
1372 # CHECK: seveq
1373
1374 0x04 0xf0 0x20 0xe3
1375 0x04 0xf0 0x20 0x03
1376
1377 #------------------------------------------------------------------------------
1378 # SHADD16/SHADD8
1379 #------------------------------------------------------------------------------
1380 # CHECK: shadd16 r4, r8, r2
1381 # CHECK: shadd16gt r4, r8, r2
1382 # CHECK: shadd8 r4, r8, r2
1383 # CHECK: shadd8gt r4, r8, r2
1384
1385 0x12 0x4f 0x38 0xe6
1386 0x12 0x4f 0x38 0xc6
1387 0x92 0x4f 0x38 0xe6
1388 0x92 0x4f 0x38 0xc6
1389
1390
1391 #------------------------------------------------------------------------------
1392 # SHASX
1393 #------------------------------------------------------------------------------
1394 # CHECK: shasx r4, r8, r2
1395 # CHECK: shasxgt r4, r8, r2
1396
1397 0x32 0x4f 0x38 0xe6
1398 0x32 0x4f 0x38 0xc6
1399
1400
1401 #------------------------------------------------------------------------------
1402 # SHSUB16/SHSUB8
1403 #------------------------------------------------------------------------------
1404 # CHECK: shsub16 r4, r8, r2
1405 # CHECK: shsub16gt r4, r8, r2
1406 # CHECK: shsub8 r4, r8, r2
1407 # CHECK: shsub8gt r4, r8, r2
1408
1409 0x72 0x4f 0x38 0xe6
1410 0x72 0x4f 0x38 0xc6
1411 0xf2 0x4f 0x38 0xe6
1412 0xf2 0x4f 0x38 0xc6
1413
1414 #------------------------------------------------------------------------------
1415 # SMC
1416 #------------------------------------------------------------------------------
1417 # CHECK: smc #15
1418 # CHECK: smceq #0
1419
1420 0x7f 0x00 0x60 0xe1
1421 0x70 0x00 0x60 0x01
1422
1423 #------------------------------------------------------------------------------
1424 # SMLABB/SMLABT/SMLATB/SMLATT
1425 #------------------------------------------------------------------------------
1426 # CHECK: smlabb r3, r1, r9, r0
1427 # CHECK: smlabt r5, r6, r4, r1
1428 # CHECK: smlatb r4, r2, r3, r2
1429 # CHECK: smlatt r8, r3, r8, r4
1430 # CHECK: smlabbge r3, r1, r9, r0
1431 # CHECK: smlabtle r5, r6, r4, r1
1432 # CHECK: smlatbne r4, r2, r3, r2
1433 # CHECK: smlatteq r8, r3, r8, r4
1434
1435 0x81 0x09 0x03 0xe1
1436 0xc6 0x14 0x05 0xe1
1437 0xa2 0x23 0x04 0xe1
1438 0xe3 0x48 0x08 0xe1
1439 0x81 0x09 0x03 0xa1
1440 0xc6 0x14 0x05 0xd1
1441 0xa2 0x23 0x04 0x11
1442 0xe3 0x48 0x08 0x01
1443
1444 #------------------------------------------------------------------------------
1445 # SMLAD/SMLADX
1446 #------------------------------------------------------------------------------
1447 # CHECK: smlad r2, r3, r5, r8
1448 # CHECK: smladx r2, r3, r5, r8
1449 # CHECK: smladeq r2, r3, r5, r8
1450 # CHECK: smladxhi r2, r3, r5, r8
1451
1452 0x13 0x85 0x02 0xe7
1453 0x33 0x85 0x02 0xe7
1454 0x13 0x85 0x02 0x07
1455 0x33 0x85 0x02 0x87
1456
1457
1458 #------------------------------------------------------------------------------
1459 # SMLAL
1460 #------------------------------------------------------------------------------
1461 # CHECK: smlal r2, r3, r5, r8
1462 # CHECK: smlals r2, r3, r5, r8
1463 # CHECK: smlaleq r2, r3, r5, r8
1464 # CHECK: smlalshi r2, r3, r5, r8
1465
1466 0x95 0x28 0xe3 0xe0
1467 0x95 0x28 0xf3 0xe0
1468 0x95 0x28 0xe3 0x00
1469 0x95 0x28 0xf3 0x80
1470
1471
1472 #------------------------------------------------------------------------------
1473 # SMLALBB/SMLALBT/SMLALTB/SMLALTT
1474 #------------------------------------------------------------------------------
1475 # CHECK: smlalbb r3, r1, r9, r0
1476 # CHECK: smlalbt r5, r6, r4, r1
1477 # CHECK: smlaltb r4, r2, r3, r2
1478 # CHECK: smlaltt r8, r3, r8, r4
1479 # CHECK: smlalbbge r3, r1, r9, r0
1480 # CHECK: smlalbtle r5, r6, r4, r1
1481 # CHECK: smlaltbne r4, r2, r3, r2
1482 # CHECK: smlaltteq r8, r3, r8, r4
1483
1484 0x89 0x30 0x41 0xe1
1485 0xc4 0x51 0x46 0xe1
1486 0xa3 0x42 0x42 0xe1
1487 0xe8 0x84 0x43 0xe1
1488 0x89 0x30 0x41 0xa1
1489 0xc4 0x51 0x46 0xd1
1490 0xa3 0x42 0x42 0x11
1491 0xe8 0x84 0x43 0x01
1492
1493
1494 #------------------------------------------------------------------------------
1495 # SMLALD/SMLALDX
1496 #------------------------------------------------------------------------------
1497 # CHECK: smlald r2, r3, r5, r8
1498 # CHECK: smlaldx r2, r3, r5, r8
1499 # CHECK: smlaldeq r2, r3, r5, r8
1500 # CHECK: smlaldxhi r2, r3, r5, r8
1501
1502 0x15 0x28 0x43 0xe7
1503 0x35 0x28 0x43 0xe7
1504 0x15 0x28 0x43 0x07
1505 0x35 0x28 0x43 0x87
1506
1507
1508 #------------------------------------------------------------------------------
1509 # SMLAWB/SMLAWT
1510 #------------------------------------------------------------------------------
1511 # CHECK: smlawb r2, r3, r10, r8
1512 # CHECK: smlawt r8, r3, r5, r9
1513 # CHECK: smlawbeq r2, r7, r5, r8
1514 # CHECK: smlawthi r1, r3, r0, r8
1515
1516 0x83 0x8a 0x22 0xe1
1517 0xc3 0x95 0x28 0xe1
1518 0x87 0x85 0x22 0x01
1519 0xc3 0x80 0x21 0x81
1520
1521
1522 #------------------------------------------------------------------------------
1523 # SMLSD/SMLSDX
1524 #------------------------------------------------------------------------------
1525 # CHECK: smlsd r2, r3, r5, r8
1526 # CHECK: smlsdx r2, r3, r5, r8
1527 # CHECK: smlsdeq r2, r3, r5, r8
1528 # CHECK: smlsdxhi r2, r3, r5, r8
1529
1530 0x53 0x85 0x02 0xe7
1531 0x73 0x85 0x02 0xe7
1532 0x53 0x85 0x02 0x07
1533 0x73 0x85 0x02 0x87
1534
1535
1536 #------------------------------------------------------------------------------
1537 # SMLSLD/SMLSLDX
1538 #------------------------------------------------------------------------------
1539 # CHECK: smlsld r2, r9, r5, r1
1540 # CHECK: smlsldx r4, r11, r2, r8
1541 # CHECK: smlsldeq r8, r2, r5, r6
1542 # CHECK: smlsldxhi r1, r0, r3, r8
1543
1544 0x55 0x21 0x49 0xe7
1545 0x72 0x48 0x4b 0xe7
1546 0x55 0x86 0x42 0x07
1547 0x73 0x18 0x40 0x87
1548
1549
1550 #------------------------------------------------------------------------------
1551 # SMMLA/SMMLAR
1552 #------------------------------------------------------------------------------
1553 # CHECK: smmla r1, r2, r3, r4
1554 # CHECK: smmlar r4, r3, r2, r1
1555 # CHECK: smmlalo r1, r2, r3, r4
1556 # CHECK: smmlarhs r4, r3, r2, r1
1557
1558 0x12 0x43 0x51 0xe7
1559 0x33 0x12 0x54 0xe7
1560 0x12 0x43 0x51 0x37
1561 0x33 0x12 0x54 0x27
1562
1563
1564 #------------------------------------------------------------------------------
1565 # SMMLS/SMMLSR
1566 #------------------------------------------------------------------------------
1567 # CHECK: smmls r1, r2, r3, r4
1568 # CHECK: smmlsr r4, r3, r2, r1
1569 # CHECK: smmlslo r1, r2, r3, r4
1570 # CHECK: smmlsrhs r4, r3, r2, r1
1571
1572 0xd2 0x43 0x51 0xe7
1573 0xf3 0x12 0x54 0xe7
1574 0xd2 0x43 0x51 0x37
1575 0xf3 0x12 0x54 0x27
1576
1577
1578 #------------------------------------------------------------------------------
1579 # SMMUL/SMMULR
1580 #------------------------------------------------------------------------------
1581 # CHECK: smmul r2, r3, r4
1582 # CHECK: smmulr r3, r2, r1
1583 # CHECK: smmullo r2, r3, r4
1584 # CHECK: smmulrhs r3, r2, r1
1585
1586 0x13 0xf4 0x52 0xe7
1587 0x32 0xf1 0x53 0xe7
1588 0x13 0xf4 0x52 0x37
1589 0x32 0xf1 0x53 0x27
1590
1591
1592 #------------------------------------------------------------------------------
1593 # SMUAD/SMUADX
1594 #------------------------------------------------------------------------------
1595 # CHECK: smuad r2, r3, r4
1596 # CHECK: smuadx r3, r2, r1
1597 # CHECK: smuadlt r2, r3, r4
1598 # CHECK: smuadxge r3, r2, r1
1599
1600 0x13 0xf4 0x02 0xe7
1601 0x32 0xf1 0x03 0xe7
1602 0x13 0xf4 0x02 0xb7
1603 0x32 0xf1 0x03 0xa7
1604
1605
1606 #------------------------------------------------------------------------------
1607 # SMULBB/SMLALBT/SMLALTB/SMLALTT
1608 #------------------------------------------------------------------------------
1609 # CHECK: smulbb r3, r9, r0
1610 # CHECK: smulbt r5, r4, r1
1611 # CHECK: smultb r4, r2, r2
1612 # CHECK: smultt r8, r3, r4
1613 # CHECK: smulbbge r1, r9, r0
1614 # CHECK: smulbtle r5, r6, r4
1615 # CHECK: smultbne r2, r3, r2
1616 # CHECK: smultteq r8, r3, r4
1617
1618 0x89 0x00 0x63 0xe1
1619 0xc4 0x01 0x65 0xe1
1620 0xa2 0x02 0x64 0xe1
1621 0xe3 0x04 0x68 0xe1
1622 0x89 0x00 0x61 0xa1
1623 0xc6 0x04 0x65 0xd1
1624 0xa3 0x02 0x62 0x11
1625 0xe3 0x04 0x68 0x01
1626
1627
1628 #------------------------------------------------------------------------------
1629 # SMULL
1630 #------------------------------------------------------------------------------
1631 # CHECK: smull r3, r9, r0, r1
1632 # CHECK: smulls r3, r9, r0, r2
1633 # CHECK: smulleq r8, r3, r4, r5
1634 # CHECK: smullseq r8, r3, r4, r3
1635
1636 0x90 0x31 0xc9 0xe0
1637 0x90 0x32 0xd9 0xe0
1638 0x94 0x85 0xc3 0x00
1639 0x94 0x83 0xd3 0x00
1640
1641
1642 #------------------------------------------------------------------------------
1643 # SMULWB/SMULWT
1644 #------------------------------------------------------------------------------
1645 # CHECK: smulwb r3, r9, r0
1646 # CHECK: smulwt r3, r9, r2
1647
1648 0xa9 0x00 0x23 0xe1
1649 0xe9 0x02 0x23 0xe1
1650
1651
1652 #------------------------------------------------------------------------------
1653 # SMUSD/SMUSDX
1654 #------------------------------------------------------------------------------
1655 # CHECK: smusd r3, r0, r1
1656 # CHECK: smusdx r3, r9, r2
1657 # CHECK: smusdeq r8, r3, r2
1658 # CHECK: smusdxne r7, r4, r3
1659
1660 0x50 0xf1 0x03 0xe7
1661 0x79 0xf2 0x03 0xe7
1662 0x53 0xf2 0x08 0x07
1663 0x74 0xf3 0x07 0x17
1664
1665
1666 #------------------------------------------------------------------------------
1667 # SRS
1668 #------------------------------------------------------------------------------
1669 # CHECK: srsda sp, #5
1670 # CHECK: srsdb sp, #1
1671 # CHECK: srsia sp, #0
1672 # CHECK: srsib sp, #15
1673
1674 # CHECK: srsda sp!, #31
1675 # CHECK: srsdb sp!, #19
1676 # CHECK: srsia sp!, #2
1677 # CHECK: srsib sp!, #14
1678
1679 # CHECK: srsda sp, #11
1680 # CHECK: srsdb sp, #10
1681 # CHECK: srsia sp, #9
1682 # CHECK: srsib sp, #5
1683
1684 # CHECK: srsda sp!, #5
1685 # CHECK: srsdb sp!, #5
1686 # CHECK: srsia sp!, #5
1687 # CHECK: srsib sp!, #5
1688
1689 # CHECK: srsia sp, #5
1690 # CHECK: srsia sp!, #5
1691
1692 0x05 0x05 0x4d 0xf8
1693 0x01 0x05 0x4d 0xf9
1694 0x00 0x05 0xcd 0xf8
1695 0x0f 0x05 0xcd 0xf9
1696
1697 0x1f 0x05 0x6d 0xf8
1698 0x13 0x05 0x6d 0xf9
1699 0x02 0x05 0xed 0xf8
1700 0x0e 0x05 0xed 0xf9
1701
1702 0x0b 0x05 0x4d 0xf8
1703 0x0a 0x05 0x4d 0xf9
1704 0x09 0x05 0xcd 0xf8
1705 0x05 0x05 0xcd 0xf9
1706
1707 0x05 0x05 0x6d 0xf8
1708 0x05 0x05 0x6d 0xf9
1709 0x05 0x05 0xed 0xf8
1710 0x05 0x05 0xed 0xf9
1711
1712 0x05 0x05 0xcd 0xf8
1713 0x05 0x05 0xed 0xf8
1714
1715
1716 #------------------------------------------------------------------------------
1717 # SSAT
1718 #------------------------------------------------------------------------------
1719 # CHECK: ssat   r8, #1, r10
1720 # CHECK: ssat   r8, #1, r10, lsl #31
1721 # CHECK: ssat   r8, #1, r10, asr #32
1722 # CHECK: ssat   r8, #1, r10, asr #1
1723
1724 0x1a 0x80 0xa0 0xe6
1725 0x9a 0x8f 0xa0 0xe6
1726 0x5a 0x80 0xa0 0xe6
1727 0xda 0x80 0xa0 0xe6
1728
1729
1730 #------------------------------------------------------------------------------
1731 # SSAT16
1732 #------------------------------------------------------------------------------
1733 # CHECK: ssat16 r2, #1, r7
1734 # CHECK: ssat16 r3, #16, r5
1735
1736 0x37 0x2f 0xa0 0xe6
1737 0x35 0x3f 0xaf 0xe6
1738
1739
1740 #------------------------------------------------------------------------------
1741 # SSAX
1742 #------------------------------------------------------------------------------
1743 # CHECK: ssax r2, r3, r4
1744 # CHECK: ssaxlt r2, r3, r4
1745
1746 0x54 0x2f 0x13 0xe6
1747 0x54 0x2f 0x13 0xb6
1748
1749 #------------------------------------------------------------------------------
1750 # SSUB16/SSUB8
1751 #------------------------------------------------------------------------------
1752 # CHECK: ssub16 r1, r0, r6
1753 # CHECK: ssub16ne r5, r3, r2
1754 # CHECK: ssub8 r9, r2, r4
1755 # CHECK: ssub8eq r5, r1, r2
1756
1757 0x76 0x1f 0x10 0xe6
1758 0x72 0x5f 0x13 0x16
1759 0xf4 0x9f 0x12 0xe6
1760 0xf2 0x5f 0x11 0x06
1761
1762
1763 #------------------------------------------------------------------------------
1764 # STM*
1765 #------------------------------------------------------------------------------
1766 # CHECK: stm r2, {r1, r3, r4, r5, r6, sp}
1767 # CHECK: stm r3, {r1, r3, r4, r5, r6, lr}
1768 # CHECK: stmib     r4, {r1, r3, r4, r5, r6, sp}
1769 # CHECK: stmda     r5, {r1, r3, r4, r5, r6, sp}
1770 # CHECK: stmdb     r6, {r1, r3, r4, r5, r6, r8}
1771 # CHECK: stmdb     sp, {r1, r3, r4, r5, r6, sp}
1772
1773
1774 # CHECK: stm       r8!, {r1, r3, r4, r5, r6, sp}
1775 # CHECK: stmib     r9!, {r1, r3, r4, r5, r6, sp}
1776 # CHECK: stmda     sp!, {r1, r3, r4, r5, r6}
1777 # CHECK: stmdb     r0!, {r1, r5, r7, sp}
1778
1779 0x7a 0x20 0x82 0xe8
1780 0x7a 0x40 0x83 0xe8
1781 0x7a 0x20 0x84 0xe9
1782 0x7a 0x20 0x05 0xe8
1783 0x7a 0x01 0x06 0xe9
1784 0x7a 0x20 0x0d 0xe9
1785
1786 0x7a 0x20 0xa8 0xe8
1787 0x7a 0x20 0xa9 0xe9
1788 0x7a 0x00 0x2d 0xe8
1789 0xa2 0x20 0x20 0xe9
1790
1791
1792 #------------------------------------------------------------------------------
1793 # STREX/STREXB/STREXH/STREXD
1794 #------------------------------------------------------------------------------
1795 # CHECK: strexb  r1, r3, [r4
1796 # CHECK: strexh  r4, r2, [r5
1797 # CHECK: strex  r2, r1, [r7
1798 # CHECK: strexd  r6, r2, r3, [r8
1799
1800 0x93 0x1f 0xc4 0xe1
1801 0x92 0x4f 0xe5 0xe1
1802 0x91 0x2f 0x87 0xe1
1803 0x92 0x6f 0xa8 0xe1
1804
1805
1806 #------------------------------------------------------------------------------
1807 # SUB
1808 #------------------------------------------------------------------------------
1809 # CHECK: sub r4, r5, #61440
1810 # CHECK: sub r4, r5, r6
1811 # CHECK: sub r4, r5, r6, lsl #5
1812 # CHECK: sub r4, r5, r6, lsr #5
1813 # CHECK: sub r4, r5, r6, lsr #5
1814 # CHECK: sub r4, r5, r6, asr #5
1815 # CHECK: sub r4, r5, r6, ror #5
1816 # CHECK: sub r6, r7, r8, lsl r9
1817 # CHECK: sub r6, r7, r8, lsr r9
1818 # CHECK: sub r6, r7, r8, asr r9
1819 # CHECK: sub r6, r7, r8, ror r9
1820
1821 # CHECK: sub r5, r5, #61440
1822 # CHECK: sub r4, r4, r5
1823 # CHECK: sub r4, r4, r5, lsl #5
1824 # CHECK: sub r4, r4, r5, lsr #5
1825 # CHECK: sub r4, r4, r5, lsr #5
1826 # CHECK: sub r4, r4, r5, asr #5
1827 # CHECK: sub r4, r4, r5, ror #5
1828 # CHECK: sub r6, r6, r7, lsl r9
1829 # CHECK: sub r6, r6, r7, lsr r9
1830 # CHECK: sub r6, r6, r7, asr r9
1831 # CHECK: sub r6, r6, r7, ror r9
1832
1833 0x0f 0x4a 0x45 0xe2
1834 0x06 0x40 0x45 0xe0
1835 0x86 0x42 0x45 0xe0
1836 0xa6 0x42 0x45 0xe0
1837 0xa6 0x42 0x45 0xe0
1838 0xc6 0x42 0x45 0xe0
1839 0xe6 0x42 0x45 0xe0
1840 0x18 0x69 0x47 0xe0
1841 0x38 0x69 0x47 0xe0
1842 0x58 0x69 0x47 0xe0
1843 0x78 0x69 0x47 0xe0
1844
1845
1846 0x0f 0x5a 0x45 0xe2
1847 0x05 0x40 0x44 0xe0
1848 0x85 0x42 0x44 0xe0
1849 0xa5 0x42 0x44 0xe0
1850 0xa5 0x42 0x44 0xe0
1851 0xc5 0x42 0x44 0xe0
1852 0xe5 0x42 0x44 0xe0
1853 0x17 0x69 0x46 0xe0
1854 0x37 0x69 0x46 0xe0
1855 0x57 0x69 0x46 0xe0
1856 0x77 0x69 0x46 0xe0
1857
1858
1859 #------------------------------------------------------------------------------
1860 # SVC
1861 #------------------------------------------------------------------------------
1862 # CHECK: svc #16
1863 # CHECK: svc #0
1864 # CHECK: svc #16777215
1865
1866 0x10 0x00 0x00 0xef
1867 0x00 0x00 0x00 0xef
1868 0xff 0xff 0xff 0xef
1869
1870
1871 #------------------------------------------------------------------------------
1872 # SWP/SWPB
1873 #------------------------------------------------------------------------------
1874 # CHECK: swp r1, r2, [r3
1875 # CHECK: swp r4, r4, [r6
1876 # CHECK: swpb r5, r1, [r9
1877
1878 0x92 0x10 0x03 0xe1
1879 0x94 0x40 0x06 0xe1
1880 0x91 0x50 0x49 0xe1
1881
1882
1883 #------------------------------------------------------------------------------
1884 # SXTAB
1885 #------------------------------------------------------------------------------
1886 # CHECK: sxtab r2, r3, r4
1887 # CHECK: sxtab r4, r5, r6
1888 # CHECK: sxtablt r6, r2, r9, ror #8
1889 # CHECK: sxtab r5, r1, r4, ror #16
1890 # CHECK: sxtab r7, r8, r3, ror #24
1891
1892 0x74 0x20 0xa3 0xe6
1893 0x76 0x40 0xa5 0xe6
1894 0x79 0x64 0xa2 0xb6
1895 0x74 0x58 0xa1 0xe6
1896 0x73 0x7c 0xa8 0xe6
1897
1898
1899 #------------------------------------------------------------------------------
1900 # SXTAB16
1901 #------------------------------------------------------------------------------
1902 # CHECK: sxtab16ge r0, r1, r4
1903 # CHECK: sxtab16 r6, r2, r7
1904 # CHECK: sxtab16 r3, r5, r8, ror #8
1905 # CHECK: sxtab16 r3, r2, r1, ror #16
1906 # CHECK: sxtab16eq r1, r2, r3, ror #24
1907
1908 0x74 0x00 0x81 0xa6
1909 0x77 0x60 0x82 0xe6
1910 0x78 0x34 0x85 0xe6
1911 0x71 0x38 0x82 0xe6
1912 0x73 0x1c 0x82 0x06
1913
1914 #------------------------------------------------------------------------------
1915 # SXTAH
1916 #------------------------------------------------------------------------------
1917 # CHECK: sxtah r1, r3, r9
1918 # CHECK: sxtahhi r6, r1, r6
1919 # CHECK: sxtah r3, r8, r3, ror #8
1920 # CHECK: sxtahlo r2, r2, r4, ror #16
1921 # CHECK: sxtah r9, r3, r3, ror #24
1922
1923 0x79 0x10 0xb3 0xe6
1924 0x76 0x60 0xb1 0x86
1925 0x73 0x34 0xb8 0xe6
1926 0x74 0x28 0xb2 0x36
1927 0x73 0x9c 0xb3 0xe6
1928
1929 #------------------------------------------------------------------------------
1930 # SXTB
1931 #------------------------------------------------------------------------------
1932 # CHECK: sxtbge r2, r4
1933 # CHECK: sxtb r5, r6
1934 # CHECK: sxtb r6, r9, ror #8
1935 # CHECK: sxtblo r5, r1, ror #16
1936 # CHECK: sxtb r8, r3, ror #24
1937
1938 0x74 0x20 0xaf 0xa6
1939 0x76 0x50 0xaf 0xe6
1940 0x79 0x64 0xaf 0xe6
1941 0x71 0x58 0xaf 0x36
1942 0x73 0x8c 0xaf 0xe6
1943
1944
1945 #------------------------------------------------------------------------------
1946 # SXTB16
1947 #------------------------------------------------------------------------------
1948 # CHECK: sxtb16 r1, r4
1949 # CHECK: sxtb16 r6, r7
1950 # CHECK: sxtb16hs r3, r5, ror #8
1951 # CHECK: sxtb16 r3, r1, ror #16
1952 # CHECK: sxtb16ge r2, r3, ror #24
1953
1954 0x74 0x10 0x8f 0xe6
1955 0x77 0x60 0x8f 0xe6
1956 0x75 0x34 0x8f 0x26
1957 0x71 0x38 0x8f 0xe6
1958 0x73 0x2c 0x8f 0xa6
1959
1960
1961 #------------------------------------------------------------------------------
1962 # SXTH
1963 #------------------------------------------------------------------------------
1964 # CHECK: sxthne r3, r9
1965 # CHECK: sxth r1, r6
1966 # CHECK: sxth r3, r8, ror #8
1967 # CHECK: sxthle r2, r2, ror #16
1968 # CHECK: sxth r9, r3, ror #24
1969
1970 0x79 0x30 0xbf 0x16
1971 0x76 0x10 0xbf 0xe6
1972 0x78 0x34 0xbf 0xe6
1973 0x72 0x28 0xbf 0xd6
1974 0x73 0x9c 0xbf 0xe6
1975
1976
1977 #------------------------------------------------------------------------------
1978 # FIXME: TBB/TBH
1979 #------------------------------------------------------------------------------
1980
1981
1982 #------------------------------------------------------------------------------
1983 # TEQ
1984 #------------------------------------------------------------------------------
1985 # CHECK: teq r5, #61440
1986 # CHECK: teq r4, r5
1987 # CHECK: teq r4, r5, lsl #5
1988 # CHECK: teq r4, r5, lsr #5
1989 # CHECK: teq r4, r5, lsr #5
1990 # CHECK: teq r4, r5, asr #5
1991 # CHECK: teq r4, r5, ror #5
1992 # CHECK: teq r6, r7, lsl r9
1993 # CHECK: teq r6, r7, lsr r9
1994 # CHECK: teq r6, r7, asr r9
1995 # CHECK: teq r6, r7, ror r9
1996
1997 0x0f 0x0a 0x35 0xe3
1998 0x05 0x00 0x34 0xe1
1999 0x85 0x02 0x34 0xe1
2000 0xa5 0x02 0x34 0xe1
2001 0xa5 0x02 0x34 0xe1
2002 0xc5 0x02 0x34 0xe1
2003 0xe5 0x02 0x34 0xe1
2004 0x17 0x09 0x36 0xe1
2005 0x37 0x09 0x36 0xe1
2006 0x57 0x09 0x36 0xe1
2007 0x77 0x09 0x36 0xe1
2008
2009
2010 #------------------------------------------------------------------------------
2011 # TST
2012 #------------------------------------------------------------------------------
2013 # CHECK: tst r5, #61440
2014 # CHECK: tst r4, r5
2015 # CHECK: tst r4, r5, lsl #5
2016 # CHECK: tst r4, r5, lsr #5
2017 # CHECK: tst r4, r5, lsr #5
2018 # CHECK: tst r4, r5, asr #5
2019 # CHECK: tst r4, r5, ror #5
2020 # CHECK: tst r6, r7, lsl r9
2021 # CHECK: tst r6, r7, lsr r9
2022 # CHECK: tst r6, r7, asr r9
2023 # CHECK: tst r6, r7, ror r9
2024
2025 0x0f 0x0a 0x15 0xe3
2026 0x05 0x00 0x14 0xe1
2027 0x85 0x02 0x14 0xe1
2028 0xa5 0x02 0x14 0xe1
2029 0xa5 0x02 0x14 0xe1
2030 0xc5 0x02 0x14 0xe1
2031 0xe5 0x02 0x14 0xe1
2032 0x17 0x09 0x16 0xe1
2033 0x37 0x09 0x16 0xe1
2034 0x57 0x09 0x16 0xe1
2035 0x77 0x09 0x16 0xe1
2036
2037
2038 #------------------------------------------------------------------------------
2039 # UADD16/UADD8
2040 #------------------------------------------------------------------------------
2041 # CHECK: uadd16 r1, r2, r3
2042 # CHECK: uadd16gt r1, r2, r3
2043 # CHECK: uadd8 r1, r2, r3
2044 # CHECK: uadd8le r1, r2, r3
2045
2046 0x13 0x1f 0x52 0xe6
2047 0x13 0x1f 0x52 0xc6
2048 0x93 0x1f 0x52 0xe6
2049 0x93 0x1f 0x52 0xd6
2050
2051
2052 #------------------------------------------------------------------------------
2053 # UASX
2054 #------------------------------------------------------------------------------
2055 # CHECK: uasx r9, r12, r0
2056 # CHECK: uasxeq r9, r12, r0
2057
2058 0x30 0x9f 0x5c 0xe6
2059 0x30 0x9f 0x5c 0x06
2060
2061
2062 #------------------------------------------------------------------------------
2063 # UBFX
2064 #------------------------------------------------------------------------------
2065 # CHECK: ubfx r4, r5, #16, #1
2066 # CHECK: ubfxgt r4, r5, #16, #16
2067
2068 0x55 0x48 0xe0 0xe7
2069 0x55 0x48 0xef 0xc7
2070
2071
2072 #------------------------------------------------------------------------------
2073 # UHADD16/UHADD8
2074 #------------------------------------------------------------------------------
2075 # CHECK: uhadd16 r4, r8, r2
2076 # CHECK: uhadd16gt r4, r8, r2
2077 # CHECK: uhadd8 r4, r8, r2
2078 # CHECK: uhadd8gt r4, r8, r2
2079
2080 0x12 0x4f 0x78 0xe6
2081 0x12 0x4f 0x78 0xc6
2082 0x92 0x4f 0x78 0xe6
2083 0x92 0x4f 0x78 0xc6
2084
2085
2086 #------------------------------------------------------------------------------
2087 # UHASX
2088 #------------------------------------------------------------------------------
2089 # CHECK: uhasx r4, r8, r2
2090 # CHECK: uhasxgt r4, r8, r2
2091
2092 0x32 0x4f 0x78 0xe6
2093 0x32 0x4f 0x78 0xc6
2094
2095
2096 #------------------------------------------------------------------------------
2097 # UHSUB16/UHSUB8
2098 #------------------------------------------------------------------------------
2099 # CHECK: uhsub16 r4, r8, r2
2100 # CHECK: uhsub16gt r4, r8, r2
2101 # CHECK: uhsub8 r4, r8, r2
2102 # CHECK: uhsub8gt r4, r8, r2
2103
2104 0x72 0x4f 0x78 0xe6
2105 0x72 0x4f 0x78 0xc6
2106 0xf2 0x4f 0x78 0xe6
2107 0xf2 0x4f 0x78 0xc6
2108
2109
2110 #------------------------------------------------------------------------------
2111 # UMAAL
2112 #------------------------------------------------------------------------------
2113 # CHECK: umaal r3, r4, r5, r6
2114 # CHECK: umaallt r3, r4, r5, r6
2115
2116 0x95 0x36 0x44 0xe0
2117 0x95 0x36 0x44 0xb0
2118
2119
2120 #------------------------------------------------------------------------------
2121 # UMLAL
2122 #------------------------------------------------------------------------------
2123 # CHECK: umlal r2, r4, r6, r8
2124 # CHECK: umlalgt r6, r1, r2, r6
2125 # CHECK: umlals r2, r9, r2, r3
2126 # CHECK: umlalseq r3, r5, r1, r2
2127
2128 0x96 0x28 0xa4 0xe0
2129 0x92 0x66 0xa1 0xc0
2130 0x92 0x23 0xb9 0xe0
2131 0x91 0x32 0xb5 0x00
2132
2133
2134 #------------------------------------------------------------------------------
2135 # UMULL
2136 #------------------------------------------------------------------------------
2137 # CHECK: umull r2, r4, r6, r8
2138 # CHECK: umullgt r6, r1, r2, r6
2139 # CHECK: umulls r2, r9, r2, r3
2140 # CHECK: umullseq r3, r5, r1, r2
2141
2142 0x96 0x28 0x84 0xe0
2143 0x92 0x66 0x81 0xc0
2144 0x92 0x23 0x99 0xe0
2145 0x91 0x32 0x95 0x00
2146
2147
2148 #------------------------------------------------------------------------------
2149 # UQADD16/UQADD8
2150 #------------------------------------------------------------------------------
2151 # CHECK: uqadd16 r1, r2, r3
2152 # CHECK: uqadd16gt r4, r7, r9
2153 # CHECK: uqadd8 r3, r4, r8
2154 # CHECK: uqadd8le r8, r1, r2
2155
2156
2157 0x13 0x1f 0x62 0xe6
2158 0x19 0x4f 0x67 0xc6
2159 0x98 0x3f 0x64 0xe6
2160 0x92 0x8f 0x61 0xd6
2161
2162
2163 #------------------------------------------------------------------------------
2164 # UQASX
2165 #------------------------------------------------------------------------------
2166 # CHECK: uqasx r2, r4, r1
2167 # CHECK: uqasxhi r5, r2, r9
2168
2169 0x31 0x2f 0x64 0xe6
2170 0x39 0x5f 0x62 0x86
2171
2172
2173 #------------------------------------------------------------------------------
2174 # UQSAX
2175 #------------------------------------------------------------------------------
2176 # CHECK: uqsax r1, r3, r7
2177 # CHECK: uqsax r3, r6, r2
2178
2179 0x57 0x1f 0x63 0xe6
2180 0x52 0x3f 0x66 0xe6
2181
2182
2183 #------------------------------------------------------------------------------
2184 # UQSUB16/UQSUB8
2185 #------------------------------------------------------------------------------
2186 # CHECK: uqsub16 r1, r5, r3
2187 # CHECK: uqsub16gt r3, r2, r5
2188 # CHECK: uqsub8 r2, r1, r4
2189 # CHECK: uqsub8le r4, r6, r9
2190
2191 0x73 0x1f 0x65 0xe6
2192 0x75 0x3f 0x62 0xc6
2193 0xf4 0x2f 0x61 0xe6
2194 0xf9 0x4f 0x66 0xd6
2195
2196
2197 #------------------------------------------------------------------------------
2198 # USADA8/USAD8
2199 #------------------------------------------------------------------------------
2200 # CHECK: usad8 r2, r1, r4
2201 # CHECK: usad8le r4, r6, r9
2202 # CHECK: usada8 r1, r5, r3, r7
2203 # CHECK: usada8gt r3, r2, r5, r1
2204
2205 0x11 0xf4 0x82 0xe7
2206 0x16 0xf9 0x84 0xd7
2207 0x15 0x73 0x81 0xe7
2208 0x12 0x15 0x83 0xc7
2209
2210
2211 #------------------------------------------------------------------------------
2212 # USAT
2213 #------------------------------------------------------------------------------
2214
2215 # CHECK: usat   r8, #1, r10
2216 # CHECK: usat   r8, #4, r10
2217 # CHECK: usat   r8, #5, r10, lsl #31
2218 # CHECK: usat   r8, #31, r10, asr #32
2219 # CHECK: usat   r8, #16, r10, asr #1
2220
2221 0x1a 0x80 0xe1 0xe6
2222 0x1a 0x80 0xe4 0xe6
2223 0x9a 0x8f 0xe5 0xe6
2224 0x5a 0x80 0xff 0xe6
2225 0xda 0x80 0xf0 0xe6
2226
2227 #------------------------------------------------------------------------------
2228 # USAT16
2229 #------------------------------------------------------------------------------
2230 # CHECK: usat16 r2, #2, r7
2231 # CHECK: usat16 r3, #15, r5
2232
2233 0x37 0x2f 0xe2 0xe6
2234 0x35 0x3f 0xef 0xe6
2235
2236
2237 #------------------------------------------------------------------------------
2238 # USAX
2239 #------------------------------------------------------------------------------
2240 # CHECK: usax r2, r3, r4
2241 # CHECK: usaxne r2, r3, r4
2242
2243 0x54 0x2f 0x53 0xe6
2244 0x54 0x2f 0x53 0x16
2245
2246 #------------------------------------------------------------------------------
2247 # USUB16/USUB8
2248 #------------------------------------------------------------------------------
2249 # CHECK: usub16 r4, r2, r7
2250 # CHECK: usub16hi r1, r1, r3
2251 # CHECK: usub8 r1, r8, r5
2252 # CHECK: usub8le r9, r2, r3
2253
2254 0x77 0x4f 0x52 0xe6
2255 0x73 0x1f 0x51 0x86
2256 0xf5 0x1f 0x58 0xe6
2257 0xf3 0x9f 0x52 0xd6
2258
2259
2260 #------------------------------------------------------------------------------
2261 # UXTAB
2262 #------------------------------------------------------------------------------
2263 # CHECK: uxtab r2, r3, r4
2264 # CHECK: uxtab r4, r5, r6
2265 # CHECK: uxtablt r6, r2, r9, ror #8
2266 # CHECK: uxtab r5, r1, r4, ror #16
2267 # CHECK: uxtab r7, r8, r3, ror #24
2268
2269 0x74 0x20 0xe3 0xe6
2270 0x76 0x40 0xe5 0xe6
2271 0x79 0x64 0xe2 0xb6
2272 0x74 0x58 0xe1 0xe6
2273 0x73 0x7c 0xe8 0xe6
2274
2275
2276 #------------------------------------------------------------------------------
2277 # UXTAB16
2278 #------------------------------------------------------------------------------
2279 # CHECK: uxtab16ge r0, r1, r4
2280 # CHECK: uxtab16 r6, r2, r7
2281 # CHECK: uxtab16 r3, r5, r8, ror #8
2282 # CHECK: uxtab16 r3, r2, r1, ror #16
2283 # CHECK: uxtab16eq r1, r2, r3, ror #24
2284
2285 0x74 0x00 0xc1 0xa6
2286 0x77 0x60 0xc2 0xe6
2287 0x78 0x34 0xc5 0xe6
2288 0x71 0x38 0xc2 0xe6
2289 0x73 0x1c 0xc2 0x06
2290
2291 #------------------------------------------------------------------------------
2292 # UXTAH
2293 #------------------------------------------------------------------------------
2294 # CHECK: uxtah r1, r3, r9
2295 # CHECK: uxtahhi r6, r1, r6
2296 # CHECK: uxtah r3, r8, r3, ror #8
2297 # CHECK: uxtahlo r2, r2, r4, ror #16
2298 # CHECK: uxtah r9, r3, r3, ror #24
2299
2300 0x79 0x10 0xf3 0xe6
2301 0x76 0x60 0xf1 0x86
2302 0x73 0x34 0xf8 0xe6
2303 0x74 0x28 0xf2 0x36
2304 0x73 0x9c 0xf3 0xe6
2305
2306 #------------------------------------------------------------------------------
2307 # UXTB
2308 #------------------------------------------------------------------------------
2309 # CHECK: uxtbge r2, r4
2310 # CHECK: uxtb r5, r6
2311 # CHECK: uxtb r6, r9, ror #8
2312 # CHECK: uxtblo r5, r1, ror #16
2313 # CHECK: uxtb r8, r3, ror #24
2314
2315 0x74 0x20 0xef 0xa6
2316 0x76 0x50 0xef 0xe6
2317 0x79 0x64 0xef 0xe6
2318 0x71 0x58 0xef 0x36
2319 0x73 0x8c 0xef 0xe6
2320
2321
2322 #------------------------------------------------------------------------------
2323 # UXTB16
2324 #------------------------------------------------------------------------------
2325 # CHECK: uxtb16 r1, r4
2326 # CHECK: uxtb16 r6, r7
2327 # CHECK: uxtb16hs r3, r5, ror #8
2328 # CHECK: uxtb16 r3, r1, ror #16
2329 # CHECK: uxtb16ge r2, r3, ror #24
2330
2331 0x74 0x10 0xcf 0xe6
2332 0x77 0x60 0xcf 0xe6
2333 0x75 0x34 0xcf 0x26
2334 0x71 0x38 0xcf 0xe6
2335 0x73 0x2c 0xcf 0xa6
2336
2337
2338 #------------------------------------------------------------------------------
2339 # UXTH
2340 #------------------------------------------------------------------------------
2341 # CHECK: uxthne r3, r9
2342 # CHECK: uxth r1, r6
2343 # CHECK: uxth r3, r8, ror #8
2344 # CHECK: uxthle r2, r2, ror #16
2345 # CHECK: uxth r9, r3, ror #24
2346
2347 0x79 0x30 0xff 0x16
2348 0x76 0x10 0xff 0xe6
2349 0x78 0x34 0xff 0xe6
2350 0x72 0x28 0xff 0xd6
2351 0x73 0x9c 0xff 0xe6
2352
2353 #------------------------------------------------------------------------------
2354 # WFE/WFI/YIELD
2355 #------------------------------------------------------------------------------
2356 # CHECK: wfe
2357 # CHECK: wfehi
2358 # CHECK: wfi
2359 # CHECK: wfilt
2360 # CHECK: yield
2361 # CHECK: yieldne
2362
2363 0x02 0xf0 0x20 0xe3
2364 0x02 0xf0 0x20 0x83
2365 0x03 0xf0 0x20 0xe3
2366 0x03 0xf0 0x20 0xb3
2367 0x01 0xf0 0x20 0xe3
2368 0x01 0xf0 0x20 0x13