5 encode_thumb32_immediate:
6 orr r0, r1, #0x00000000
7 orr r0, r1, #0x000000a5
8 orr r0, r1, #0x00a500a5
9 orr r0, r1, #0xa500a500
10 orr r0, r1, #0xa5a5a5a5
12 orr r0, r1, #0xa5 << 31
13 orr r0, r1, #0xa5 << 30
14 orr r0, r1, #0xa5 << 29
15 orr r0, r1, #0xa5 << 28
16 orr r0, r1, #0xa5 << 27
17 orr r0, r1, #0xa5 << 26
18 orr r0, r1, #0xa5 << 25
19 orr r0, r1, #0xa5 << 24
20 orr r0, r1, #0xa5 << 23
21 orr r0, r1, #0xa5 << 22
22 orr r0, r1, #0xa5 << 21
23 orr r0, r1, #0xa5 << 20
24 orr r0, r1, #0xa5 << 19
25 orr r0, r1, #0xa5 << 18
26 orr r0, r1, #0xa5 << 17
27 orr r0, r1, #0xa5 << 16
28 orr r0, r1, #0xa5 << 15
29 orr r0, r1, #0xa5 << 14
30 orr r0, r1, #0xa5 << 13
31 orr r0, r1, #0xa5 << 12
32 orr r0, r1, #0xa5 << 11
33 orr r0, r1, #0xa5 << 10
34 orr r0, r1, #0xa5 << 9
35 orr r0, r1, #0xa5 << 8
36 orr r0, r1, #0xa5 << 7
37 orr r0, r1, #0xa5 << 6
38 orr r0, r1, #0xa5 << 5
39 orr r0, r1, #0xa5 << 4
40 orr r0, r1, #0xa5 << 3
41 orr r0, r1, #0xa5 << 2
42 orr r0, r1, #0xa5 << 1
45 adds r0, r0, #0 @ format 1
50 adds r0, #129 @ format 2
54 adds r0, r0, r0 @ format 3
64 add r8, r0, r0 @ ... not this one
69 add r0, pc, #0 @ format 5
73 add r0, sp, #0 @ format 6
81 add.w r0, r0, #0 @ T32 format 1
87 add.w r0, r0, r0 @ T32 format 2
94 add.w r8, r9, r10, lsl #17
95 add.w r8, r8, r10, lsr #32
96 add.w r8, r8, r10, lsr #17
97 add.w r8, r9, r10, asr #32
98 add.w r8, r9, r10, asr #17
99 add.w r8, r9, r10, rrx
100 add.w r8, r9, r10, ror #17
102 subs r0, r0, #0 @ format 1
110 subs r0, r0, r0 @ format 3
115 sub sp, #260 @ format 4
118 subs r8, r0 @ T32 format 2
120 subs r0, #260 @ T32 format 1
123 .macro arit3 op ops opw opsw
135 \opw r0, r1, r2, asr #17
139 arit3 adc adcs adc.w adcs.w
140 arit3 and ands and.w ands.w
141 arit3 bic bics bic.w bics.w
142 arit3 eor eors eor.w eors.w
143 arit3 orr orrs orr.w orrs.w
144 arit3 rsb rsbs rsb.w rsbs.w
145 arit3 sbc sbcs sbc.w sbcs.w
197 @ bl, blx have no short form.
278 .macro itx opc cond n
343 \op r1, [r5, #-0x30]!
375 ldrd r2, [r5, #-0x30]
378 strd r2, [r5, #-0x30]
381 ldrbt r1, [r5, #0x30]
383 ldrsbt r1, [r5, #0x30]
385 ldrht r1, [r5, #0x30]
387 ldrsht r1, [r5, #0x30]
402 strexd r1, r2, r3, [r4]
405 strex r1, r2, [r4,#516]
408 ldmia r0!, {r1,r2,r3}
410 ldmia.w r2, {r0,r1,r2}
412 ldmia r0, {r7,r8,r10}
413 ldmia r0!, {r7,r8,r10}
415 stmia r0!, {r1,r2,r3}
416 stmia r2!, {r0,r1,r3}
417 stmia.w r2!, {r0,r1,r3}
419 stmia r0, {r7,r8,r10}
420 stmia r0!, {r7,r8,r10}
422 ldmdb r0, {r7,r8,r10}
423 stmdb r0, {r7,r8,r10}
433 tst_teq_cmp_cmn_mov_mvn:
434 .macro mt op ops opw opsw
447 mt tst tsts tst.w tsts.w
448 mt teq teqs teq.w teqs.w
449 mt cmp cmps cmp.w cmps.w
450 mt cmn cmns cmn.w cmns.w
451 mt mov movs mov.w movs.w
452 mt mvn mvns mvn.w mvns.w
516 pkhbt r0, r0, r0, lsl #0x14
517 pkhbt r0, r0, r0, lsl #3
519 pkhtb r1, r2, r3, asr #0x11
526 push {r8,r9,r10,r11,r12}
527 pop {r8,r9,r10,r11,r12}
586 .macro sh op ops opw opsw
587 \ops r0, #17 @ 16-bit format 1
591 \ops r0, r0 @ 16-bit format 2
594 \op r9, #17 @ 32-bit format 1
598 \opw r0, r0, r0 @ 32-bit format 2
606 sh lsl lsls lsl.w lsls.w
607 sh lsr lsrs lsr.w lsrs.w
608 sh asr asrs asr.w asrs.w
609 sh ror rors ror.w rors.w
618 smlabb r0, r0, r0, r0
619 smlabb r9, r0, r0, r0
620 smlabb r0, r9, r0, r0
621 smlabb r0, r0, r9, r0
622 smlabb r0, r0, r0, r9
624 smlatb r0, r0, r0, r0
625 smlabt r0, r0, r0, r0
626 smlatt r0, r0, r0, r0
627 smlawb r0, r0, r0, r0
628 smlawt r0, r0, r0, r0
630 smladx r0, r0, r0, r0
632 smlsdx r0, r0, r0, r0
634 smmlar r0, r0, r0, r0
636 smmlsr r0, r0, r0, r0
637 usada8 r0, r0, r0, r0
640 smlalbb r0, r0, r0, r0
641 smlalbb r9, r0, r0, r0
642 smlalbb r0, r9, r0, r0
643 smlalbb r0, r0, r9, r0
644 smlalbb r0, r0, r0, r9
646 smlaltb r0, r0, r0, r0
647 smlalbt r0, r0, r0, r0
648 smlaltt r0, r0, r0, r0
649 smlald r0, r0, r0, r0
650 smlaldx r0, r0, r0, r0
651 smlsld r0, r0, r0, r0
652 smlsldx r0, r0, r0, r0
676 ssat r0, #1, r0, lsl #0
677 ssat r0, #1, r0, asr #0
681 ssat r0, #1, r0, lsl #0x1c
682 ssat r0, #1, r0, asr #0x03
690 usat r0, #0, r0, lsl #0
691 usat r0, #0, r0, asr #0
695 usat r0, #0, r0, lsl #0x1c
696 usat r0, #0, r0, asr #0x03
726 sxtab r0, r0, r0, ror #0
727 sxtab r9, r0, r0, ror #8
728 sxtab r0, r9, r0, ror #16
729 sxtab r0, r0, r9, ror #24