1 # RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s
3 #------------------------------------------------------------------------------
5 #------------------------------------------------------------------------------
6 # CHECK: adc r0, r1, #4
7 # CHECK: adcs r0, r1, #0
8 # CHECK: adc r1, r2, #255
9 # CHECK: adc r3, r7, #5570645
10 # CHECK: adc r8, r12, #2852170240
11 # CHECK: adc r9, r7, #2779096485
12 # CHECK: adc r5, r3, #2264924160
13 # CHECK: adc r4, r2, #2139095040
14 # CHECK: adc r4, r2, #1664
26 #------------------------------------------------------------------------------
28 #------------------------------------------------------------------------------
29 # CHECK: adc.w r4, r5, r6
30 # CHECK: adcs.w r4, r5, r6
31 # CHECK: adc.w r9, r1, r3
32 # CHECK: adcs.w r9, r1, r3
33 # CHECK: adc.w r0, r1, r3, ror #4
34 # CHECK: adcs.w r0, r1, r3, lsl #7
35 # CHECK: adc.w r0, r1, r3, lsr #31
36 # CHECK: adcs.w r0, r1, r3, asr #32
48 #------------------------------------------------------------------------------
50 #------------------------------------------------------------------------------
52 # CHECK: addeq r1, r2, #4
53 # CHECK: addwne r5, r3, #1023
54 # CHECK: addweq r4, r5, #293
55 # CHECK: add.w r2, sp, #1024
56 # CHECK: add.w r2, r8, #65280
57 # CHECK: addw r2, r3, #257
58 # CHECK: add.w r12, r6, #256
59 # CHECK: addw r12, r6, #256
60 # CHECK: adds.w r1, r2, #496
74 #------------------------------------------------------------------------------
76 #------------------------------------------------------------------------------
77 # CHECK: add.w r1, r2, r8
78 # CHECK: add.w r5, r9, r2, asr #32
79 # CHECK: adds.w r7, r3, r1, lsl #31
80 # CHECK: adds.w r0, r3, r6, lsr #25
81 # CHECK: add.w r4, r8, r1, ror #12
90 #------------------------------------------------------------------------------
92 #------------------------------------------------------------------------------
93 # CHECK: subw r11, pc, #3270
94 # CHECK: subw r11, pc, #826
95 # CHECK: subw r1, pc, #0
101 #------------------------------------------------------------------------------
103 #------------------------------------------------------------------------------
104 # CHECK: and r2, r5, #1044480
105 # CHECK: ands r3, r12, #15
106 # CHECK: and r1, r1, #255
113 #------------------------------------------------------------------------------
115 #------------------------------------------------------------------------------
116 # CHECK: and.w r4, r9, r8
117 # CHECK: and.w r1, r4, r8, asr #3
118 # CHECK: ands.w r2, r1, r7, lsl #1
119 # CHECK: ands.w r4, r5, r2, lsr #20
120 # CHECK: and.w r9, r12, r1, ror #17
128 #------------------------------------------------------------------------------
130 #------------------------------------------------------------------------------
131 # CHECK: asr.w r2, r3, #12
132 # CHECK: asrs.w r8, r3, #32
133 # CHECK: asrs.w r2, r3, #1
134 # CHECK: asr.w r2, r3, #4
135 # CHECK: asrs.w r2, r12, #15
137 # CHECK: asr.w r3, r3, #19
138 # CHECK: asrs.w r8, r8, #2
139 # CHECK: asrs.w r7, r7, #5
140 # CHECK: asr.w r12, r12, #21
154 #------------------------------------------------------------------------------
156 #------------------------------------------------------------------------------
157 # CHECK: asr.w r3, r4, r2
158 # CHECK: asr.w r1, r1, r2
159 # CHECK: asrs.w r3, r4, r8
165 #------------------------------------------------------------------------------
167 #------------------------------------------------------------------------------
168 # CHECK: bmi.w #-183396
173 #------------------------------------------------------------------------------
175 #------------------------------------------------------------------------------
176 # CHECK: bfc r5, #3, #17
178 # CHECK: bfclo r5, #3, #17
185 #------------------------------------------------------------------------------
187 #------------------------------------------------------------------------------
188 # CHECK: bfi r5, r2, #3, #17
190 # CHECK: bfine r5, r2, #3, #17
191 # CHECK: bfi r6, r0, #0, #32
192 # CHECK: bfi r6, r0, #31, #1
201 #------------------------------------------------------------------------------
203 #------------------------------------------------------------------------------
204 # CHECK: bic r10, r1, #15
205 # CHECK: bic.w r12, r3, r6
206 # CHECK: bic.w r11, r2, r6, lsl #12
207 # CHECK: bic.w r8, r4, r1, lsr #11
208 # CHECK: bic.w r7, r5, r7, lsr #15
209 # CHECK: bic.w r6, r7, r9, asr #32
210 # CHECK: bic.w r5, r6, r8, ror #1
212 # CHECK: bic r1, r1, #15
213 # CHECK: bic.w r1, r1, r1
214 # CHECK: bic.w r4, r4, r2, lsl #31
215 # CHECK: bic.w r6, r6, r3, lsr #12
216 # CHECK: bic.w r7, r7, r4, lsr #7
217 # CHECK: bic.w r8, r8, r5, asr #15
218 # CHECK: bic.w r12, r12, r6, ror #29
237 #------------------------------------------------------------------------------
239 #------------------------------------------------------------------------------
249 #------------------------------------------------------------------------------
251 #------------------------------------------------------------------------------
253 # CHECK: cbnz r7, #12
258 #------------------------------------------------------------------------------
260 #------------------------------------------------------------------------------
261 # CHECK: cdp p7, #1, c1, c1, c1, #4
262 # CHECK: cdp2 p7, #1, c1, c1, c1, #4
268 #------------------------------------------------------------------------------
270 #------------------------------------------------------------------------------
280 #------------------------------------------------------------------------------
282 #------------------------------------------------------------------------------
292 #------------------------------------------------------------------------------
294 #------------------------------------------------------------------------------
295 #CHECK: cmn.w r1, #15
297 #CHECK: cmn.w r1, r6, lsl #10
298 #CHECK: cmn.w r1, r6, lsr #10
299 #CHECK: cmn.w sp, r6, lsr #10
300 #CHECK: cmn.w r1, r6, asr #10
301 #CHECK: cmn.w r1, r6, ror #10
312 #------------------------------------------------------------------------------
314 #------------------------------------------------------------------------------
315 #CHECK: cmp.w r5, #65280
316 #CHECK: cmp.w r4, r12
317 #CHECK: cmp.w r9, r6, lsl #12
318 #CHECK: cmp.w r3, r7, lsr #31
319 #CHECK: cmp.w sp, r6, lsr #1
320 #CHECK: cmp.w r2, r5, asr #24
321 #CHECK: cmp.w r1, r4, ror #15
332 #------------------------------------------------------------------------------
334 #------------------------------------------------------------------------------
344 #------------------------------------------------------------------------------
346 #------------------------------------------------------------------------------
382 #------------------------------------------------------------------------------
384 #------------------------------------------------------------------------------
420 #------------------------------------------------------------------------------
422 #------------------------------------------------------------------------------
423 #CHECK: eor r4, r5, #61440
424 #CHECK: eor.w r4, r5, r6
425 #CHECK: eor.w r4, r5, r6, lsl #5
426 #CHECK: eor.w r4, r5, r6, lsr #5
427 #CHECK: eor.w r4, r5, r6, lsr #5
428 #CHECK: eor.w r4, r5, r6, asr #5
429 #CHECK: eor.w r4, r5, r6, ror #5
440 #------------------------------------------------------------------------------
442 #------------------------------------------------------------------------------
447 #------------------------------------------------------------------------------
449 #------------------------------------------------------------------------------
450 # Test encodings of a few full IT blocks, not just the IT instruction
453 # CHECK: addeq r0, r1, r2
455 # CHECK: subne r5, r6, r7
456 # CHECK: addeq r1, r2, #4
465 # CHECK: addls r0, r1, r2
467 # CHECK: subhi r5, r6, r7
468 # CHECK: addhi r1, r2, #4
477 #------------------------------------------------------------------------------
479 #------------------------------------------------------------------------------
480 # CHECK: ldm.w r4, {r4, r5, r8, r9}
481 # CHECK: ldm.w r4, {r5, r6}
482 # CHECK: ldm.w r5!, {r3, r8}
483 # CHECK: ldm.w r4, {r4, r5, r8, r9}
484 # CHECK: ldm.w r4, {r5, r6}
485 # CHECK: ldm.w r5!, {r3, r8}
486 # CHECK: ldm.w r5!, {r1, r2}
487 # CHECK: ldm.w r2, {r1, r2}
489 # CHECK: ldm.w r4, {r4, r5, r8, r9}
490 # CHECK: ldm.w r4, {r5, r6}
491 # CHECK: ldm.w r5!, {r3, r8}
492 # CHECK: ldm.w r4, {r4, r5, r8, r9}
493 # CHECK: ldm.w r4, {r5, r6}
494 # CHECK: ldm.w r5!, {r3, r8}
495 # CHECK: ldm.w r5!, {r3, r8}
515 #------------------------------------------------------------------------------
517 #------------------------------------------------------------------------------
518 # CHECK: ldmdb r4, {r4, r5, r8, r9}
519 # CHECK: ldmdb r4, {r5, r6}
520 # CHECK: ldmdb r5!, {r3, r8}
521 # CHECK: ldmdb r5!, {r3, r8}
529 #------------------------------------------------------------------------------
531 #------------------------------------------------------------------------------
532 # CHECK: ldr r5, [r5, #-4]
533 # CHECK: ldr r5, [r6, #32]
534 # CHECK: ldr.w r5, [r6, #33]
535 # CHECK: ldr.w r5, [r6, #257]
536 # CHECK: ldr.w pc, [r7, #257]
545 #------------------------------------------------------------------------------
547 #------------------------------------------------------------------------------
548 # CHECK: ldr.w r1, [r8, r1]
549 # CHECK: ldr.w r4, [r5, r2]
550 # CHECK: ldr.w r6, [r0, r2, lsl #3]
551 # CHECK: ldr.w r8, [r8, r2, lsl #2]
552 # CHECK: ldr.w r7, [sp, r2, lsl #1]
553 # CHECK: ldr.w r7, [sp, r2]
554 # CHECK: ldr r2, [r4, #255]!
555 # CHECK: ldr r8, [sp, #4]!
556 # CHECK: ldr lr, [sp, #-4]!
557 # CHECK: ldr r2, [r4], #255
558 # CHECK: ldr r8, [sp], #4
559 # CHECK: ldr lr, [sp], #-4
575 #------------------------------------------------------------------------------
577 #------------------------------------------------------------------------------
578 # CHECK: ldrb r5, [r5, #-4]
579 # CHECK: ldrb.w r5, [r6, #32]
580 # CHECK: ldrb.w r5, [r6, #33]
581 # CHECK: ldrb.w r5, [r6, #257]
582 # CHECK: ldrb.w lr, [r7, #257]
591 #------------------------------------------------------------------------------
593 #------------------------------------------------------------------------------
594 # CHECK: ldrb.w r1, [r8, r1]
595 # CHECK: ldrb.w r4, [r5, r2]
596 # CHECK: ldrb.w r6, [r0, r2, lsl #3]
597 # CHECK: ldrb.w r8, [r8, r2, lsl #2]
598 # CHECK: ldrb.w r7, [sp, r2, lsl #1]
599 # CHECK: ldrb.w r7, [sp, r2]
600 # CHECK: ldrb r5, [r8, #255]!
601 # CHECK: ldrb r2, [r5, #4]!
602 # CHECK: ldrb r1, [r4, #-4]!
603 # CHECK: ldrb lr, [r3], #255
604 # CHECK: ldrb r9, [r2], #4
605 # CHECK: ldrb r3, [sp], #-4
621 #------------------------------------------------------------------------------
623 #------------------------------------------------------------------------------
624 # CHECK: ldrbt r1, [r2]
625 # CHECK: ldrbt r1, [r8]
626 # CHECK: ldrbt r1, [r8, #3]
627 # CHECK: ldrbt r1, [r8, #255]
635 #------------------------------------------------------------------------------
637 #------------------------------------------------------------------------------
638 # CHECK: ldrd r3, r5, [r6, #24]
639 # CHECK: ldrd r3, r5, [r6, #24]!
640 # CHECK: ldrd r3, r5, [r6], #4
641 # CHECK: ldrd r3, r5, [r6], #-8
642 # CHECK: ldrd r3, r5, [r6]
643 # CHECK: ldrd r8, r1, [r3]
644 # CHECK: ldrd r0, r1, [r2], #-0
645 # CHECK: ldrd r0, r1, [r2, #-0]!
646 # CHECK: ldrd r0, r1, [r2, #-0]
659 #------------------------------------------------------------------------------
660 # FIXME: LDRD(literal)
661 #------------------------------------------------------------------------------
664 #------------------------------------------------------------------------------
665 # LDREX/LDREXB/LDREXH/LDREXD
666 #------------------------------------------------------------------------------
667 # CHECK: ldrex r1, [r4]
668 # CHECK: ldrex r8, [r4]
669 # CHECK: ldrex r2, [sp, #128]
670 # CHECK: ldrexb r5, [r7]
671 # CHECK: ldrexh r9, [r12]
672 # CHECK: ldrexd r9, r3, [r4]
682 #------------------------------------------------------------------------------
684 #------------------------------------------------------------------------------
685 # CHECK: ldrh r5, [r5, #-4]
686 # CHECK: ldrh r5, [r6, #32]
687 # CHECK: ldrh.w r5, [r6, #33]
688 # CHECK: ldrh.w r5, [r6, #257]
689 # CHECK: ldrh.w lr, [r7, #257]
690 # CHECK: ldrh.w r0, [pc, #-21]
700 #------------------------------------------------------------------------------
702 #------------------------------------------------------------------------------
703 # CHECK: ldrh.w r1, [r8, r1]
704 # CHECK: ldrh.w r4, [r5, r2]
705 # CHECK: ldrh.w r6, [r0, r2, lsl #3]
706 # CHECK: ldrh.w r8, [r8, r2, lsl #2]
707 # CHECK: ldrh.w r7, [sp, r2, lsl #1]
708 # CHECK: ldrh.w r7, [sp, r2]
709 # CHECK: ldrh r5, [r8, #255]!
710 # CHECK: ldrh r2, [r5, #4]!
711 # CHECK: ldrh r1, [r4, #-4]!
712 # CHECK: ldrh lr, [r3], #255
713 # CHECK: ldrh r9, [r2], #4
714 # CHECK: ldrh r3, [sp], #-4
730 #------------------------------------------------------------------------------
732 #------------------------------------------------------------------------------
733 # CHECK: ldrsb r5, [r5, #-4]
734 # CHECK: ldrsb.w r5, [r6, #32]
735 # CHECK: ldrsb.w r5, [r6, #33]
736 # CHECK: ldrsb.w r5, [r6, #257]
737 # CHECK: ldrsb.w lr, [r7, #257]
746 #------------------------------------------------------------------------------
748 #------------------------------------------------------------------------------
749 # CHECK: ldrsb.w r1, [r8, r1]
750 # CHECK: ldrsb.w r4, [r5, r2]
751 # CHECK: ldrsb.w r6, [r0, r2, lsl #3]
752 # CHECK: ldrsb.w r8, [r8, r2, lsl #2]
753 # CHECK: ldrsb.w r7, [sp, r2, lsl #1]
754 # CHECK: ldrsb.w r7, [sp, r2]
755 # CHECK: ldrsb r5, [r8, #255]!
756 # CHECK: ldrsb r2, [r5, #4]!
757 # CHECK: ldrsb r1, [r4, #-4]!
758 # CHECK: ldrsb lr, [r3], #255
759 # CHECK: ldrsb r9, [r2], #4
760 # CHECK: ldrsb r3, [sp], #-4
776 #------------------------------------------------------------------------------
778 #------------------------------------------------------------------------------
779 # CHECK: ldrsbt r1, [r2]
780 # CHECK: ldrsbt r1, [r8]
781 # CHECK: ldrsbt r1, [r8, #3]
782 # CHECK: ldrsbt r1, [r8, #255]
790 #------------------------------------------------------------------------------
792 #------------------------------------------------------------------------------
793 # CHECK: ldrsh r5, [r5, #-4]
794 # CHECK: ldrsh.w r5, [r6, #32]
795 # CHECK: ldrsh.w r5, [r6, #33]
796 # CHECK: ldrsh.w r5, [r6, #257]
797 # CHECK: ldrsh.w lr, [r7, #257]
798 # CHECK: ldrsh r10, [r5, #-0]
807 #------------------------------------------------------------------------------
809 #------------------------------------------------------------------------------
810 # CHECK: ldrsh.w r1, [r8, r1]
811 # CHECK: ldrsh.w r4, [r5, r2]
812 # CHECK: ldrsh.w r6, [r0, r2, lsl #3]
813 # CHECK: ldrsh.w r8, [r8, r2, lsl #2]
814 # CHECK: ldrsh.w r7, [sp, r2, lsl #1]
815 # CHECK: ldrsh.w r7, [sp, r2]
816 # CHECK: ldrsh r5, [r8, #255]!
817 # CHECK: ldrsh r2, [r5, #4]!
818 # CHECK: ldrsh r1, [r4, #-4]!
819 # CHECK: ldrsh lr, [r3], #255
820 # CHECK: ldrsh r9, [r2], #4
821 # CHECK: ldrsh r3, [sp], #-4
837 #------------------------------------------------------------------------------
839 #------------------------------------------------------------------------------
840 # CHECK: ldrsht r1, [r2]
841 # CHECK: ldrsht r1, [r8]
842 # CHECK: ldrsht r1, [r8, #3]
843 # CHECK: ldrsht r1, [r8, #255]
851 #------------------------------------------------------------------------------
853 #------------------------------------------------------------------------------
854 # CHECK: ldrt r1, [r2]
855 # CHECK: ldrt r2, [r6]
856 # CHECK: ldrt r3, [r7, #3]
857 # CHECK: ldrt r4, [r9, #255]
865 #------------------------------------------------------------------------------
867 #------------------------------------------------------------------------------
868 # CHECK: lsl.w r2, r3, #12
869 # CHECK: lsls.w r8, r3, #31
870 # CHECK: lsls.w r2, r3, #1
871 # CHECK: lsl.w r2, r3, #4
872 # CHECK: lsls.w r2, r12, #15
874 # CHECK: lsl.w r3, r3, #19
875 # CHECK: lsls.w r8, r8, #2
876 # CHECK: lsls.w r7, r7, #5
877 # CHECK: lsl.w r12, r12, #21
891 #------------------------------------------------------------------------------
893 #------------------------------------------------------------------------------
894 # CHECK: lsl.w r3, r4, r2
895 # CHECK: lsl.w r1, r1, r2
896 # CHECK: lsls.w r3, r4, r8
903 #------------------------------------------------------------------------------
905 #------------------------------------------------------------------------------
906 # CHECK: lsr.w r2, r3, #12
907 # CHECK: lsrs.w r8, r3, #32
908 # CHECK: lsrs.w r2, r3, #1
909 # CHECK: lsr.w r2, r3, #4
910 # CHECK: lsrs.w r2, r12, #15
912 # CHECK: lsr.w r3, r3, #19
913 # CHECK: lsrs.w r8, r8, #2
914 # CHECK: lsrs.w r7, r7, #5
915 # CHECK: lsr.w r12, r12, #21
929 #------------------------------------------------------------------------------
931 #------------------------------------------------------------------------------
932 # CHECK: lsr.w r3, r4, r2
933 # CHECK: lsr.w r1, r1, r2
934 # CHECK: lsrs.w r3, r4, r8
940 #------------------------------------------------------------------------------
942 #------------------------------------------------------------------------------
943 # CHECK: mcr p7, #1, r5, c1, c1, #4
944 # CHECK: mcr2 p7, #1, r5, c1, c1, #4
950 #------------------------------------------------------------------------------
952 #------------------------------------------------------------------------------
953 # CHECK: mcrr p7, #15, r5, r4, c1
954 # CHECK: mcrr2 p7, #15, r5, r4, c1
960 #------------------------------------------------------------------------------
962 #------------------------------------------------------------------------------
963 # CHECK: mla r1, r2, r3, r4
964 # CHECK: mls r1, r2, r3, r4
970 #------------------------------------------------------------------------------
972 #------------------------------------------------------------------------------
973 # CHECK: movs r1, #21
974 # CHECK: movs.w r1, #21
975 # CHECK: movs.w r8, #21
976 # CHECK: movw r0, #65535
977 # CHECK: movw r1, #43777
978 # CHECK: movw r1, #43792
979 # CHECK: mov.w r0, #66846720
980 # CHECK: mov.w r0, #66846720
981 # CHECK: movs.w r0, #66846720
993 #------------------------------------------------------------------------------
995 #------------------------------------------------------------------------------
997 # CHECK: movt r6, #65535
999 # CHECK: movteq r4, #4080
1006 #------------------------------------------------------------------------------
1008 #------------------------------------------------------------------------------
1009 # CHECK: mrc p14, #0, r1, c1, c2, #4
1010 # CHECK: mrc2 p14, #0, r1, c1, c2, #4
1016 #------------------------------------------------------------------------------
1018 #------------------------------------------------------------------------------
1019 # CHECK: mrrc p7, #1, r5, r4, c1
1020 # CHECK: mrrc2 p7, #1, r5, r4, c1
1026 #------------------------------------------------------------------------------
1028 #------------------------------------------------------------------------------
1029 # CHECK: mrs r8, apsr
1030 # CHECK: mrs r8, spsr
1036 #------------------------------------------------------------------------------
1038 #------------------------------------------------------------------------------
1039 # CHECK: msr APSR_nzcvq, r1
1040 # CHECK: msr APSR_g, r2
1041 # CHECK: msr APSR_nzcvq, r3
1042 # CHECK: msr APSR_nzcvq, r4
1043 # CHECK: msr APSR_nzcvqg, r5
1044 # CHECK: msr CPSR_fc, r6
1045 # CHECK: msr CPSR_c, r7
1046 # CHECK: msr CPSR_x, r8
1047 # CHECK: msr CPSR_fc, r9
1048 # CHECK: msr CPSR_fc, r11
1049 # CHECK: msr CPSR_fsx, r12
1050 # CHECK: msr SPSR_fc, r0
1051 # CHECK: msr SPSR_fsxc, r5
1052 # CHECK: msr CPSR_fsxc, r8
1070 #------------------------------------------------------------------------------
1072 #------------------------------------------------------------------------------
1073 # CHECK: muls r3, r4, r3
1074 # CHECK: mul r3, r4, r3
1075 # CHECK: mul r3, r4, r6
1077 # CHECK: muleq r3, r4, r5
1086 #------------------------------------------------------------------------------
1088 #------------------------------------------------------------------------------
1089 # CHECK: mvns r8, #21
1090 # CHECK: mvn r0, #66846720
1091 # CHECK: mvns r0, #66846720
1093 # CHECK: mvnseq r1, #12
1094 # CHECK: mvneq r1, #12
1095 # CHECK: mvnne r1, #12
1106 #------------------------------------------------------------------------------
1108 #------------------------------------------------------------------------------
1109 # CHECK: mvn.w r2, r3
1110 # CHECK: mvns r2, r3
1111 # CHECK: mvn.w r5, r6, lsl #19
1112 # CHECK: mvn.w r5, r6, lsr #9
1113 # CHECK: mvn.w r5, r6, asr #4
1114 # CHECK: mvn.w r5, r6, ror #6
1115 # CHECK: mvn.w r5, r6, rrx
1117 # CHECK: mvneq r2, r3
1129 #------------------------------------------------------------------------------
1131 #------------------------------------------------------------------------------
1137 #------------------------------------------------------------------------------
1139 #------------------------------------------------------------------------------
1140 # CHECK: orn r4, r5, #61440
1141 # CHECK: orn r4, r5, r6
1142 # CHECK: orns r4, r5, r6
1143 # CHECK: orn r4, r5, r6, lsl #5
1144 # CHECK: orns r4, r5, r6, lsr #5
1145 # CHECK: orn r4, r5, r6, lsr #5
1146 # CHECK: orns r4, r5, r6, asr #5
1147 # CHECK: orn r4, r5, r6, ror #5
1159 #------------------------------------------------------------------------------
1161 #------------------------------------------------------------------------------
1162 # CHECK: orr r4, r5, #61440
1163 # CHECK: orr.w r4, r5, r6
1164 # CHECK: orr.w r4, r5, r6, lsl #5
1165 # CHECK: orrs.w r4, r5, r6, lsr #5
1166 # CHECK: orr.w r4, r5, r6, lsr #5
1167 # CHECK: orrs.w r4, r5, r6, asr #5
1168 # CHECK: orr.w r4, r5, r6, ror #5
1179 #------------------------------------------------------------------------------
1181 #------------------------------------------------------------------------------
1182 # CHECK: pkhbt r2, r2, r3
1183 # CHECK: pkhbt r2, r2, r3, lsl #31
1184 # CHECK: pkhbt r2, r2, r3, lsl #15
1186 # CHECK: pkhtb r2, r2, r3, asr #31
1187 # CHECK: pkhtb r2, r2, r3, asr #15
1197 #------------------------------------------------------------------------------
1199 #------------------------------------------------------------------------------
1200 # CHECK: pld [r5, #-4]
1201 # CHECK: pld [r6, #32]
1202 # CHECK: pld [r6, #33]
1203 # CHECK: pld [r6, #257]
1204 # CHECK: pld [r7, #257]
1212 #------------------------------------------------------------------------------
1214 #------------------------------------------------------------------------------
1215 # CHECK: pld [r8, r1]
1216 # CHECK: pld [r5, r2]
1217 # CHECK: pld [r0, r2, lsl #3]
1218 # CHECK: pld [r8, r2, lsl #2]
1219 # CHECK: pld [sp, r2, lsl #1]
1220 # CHECK: pld [sp, r2]
1229 #------------------------------------------------------------------------------
1231 #------------------------------------------------------------------------------
1232 # CHECK: pli [r5, #-4]
1233 # CHECK: pli [r6, #32]
1234 # CHECK: pli [r6, #33]
1235 # CHECK: pli [r6, #257]
1236 # CHECK: pli [r7, #257]
1244 #------------------------------------------------------------------------------
1246 #------------------------------------------------------------------------------
1247 # CHECK: pli [r8, r1]
1248 # CHECK: pli [r5, r2]
1249 # CHECK: pli [r0, r2, lsl #3]
1250 # CHECK: pli [r8, r2, lsl #2]
1251 # CHECK: pli [sp, r2, lsl #1]
1252 # CHECK: pli [sp, r2]
1262 #------------------------------------------------------------------------------
1264 #------------------------------------------------------------------------------
1265 # CHECK: qadd r1, r2, r3
1266 # CHECK: qadd16 r1, r2, r3
1267 # CHECK: qadd8 r1, r2, r3
1269 # CHECK: qaddgt r1, r2, r3
1270 # CHECK: qadd16gt r1, r2, r3
1271 # CHECK: qadd8le r1, r2, r3
1282 #------------------------------------------------------------------------------
1284 #------------------------------------------------------------------------------
1285 # CHECK: qdadd r6, r7, r8
1286 # CHECK: qdsub r6, r7, r8
1288 # CHECK: qdaddhi r6, r7, r8
1289 # CHECK: qdsubhi r6, r7, r8
1298 #------------------------------------------------------------------------------
1300 #------------------------------------------------------------------------------
1301 # CHECK: qsax r9, r12, r0
1303 # CHECK: qsaxeq r9, r12, r0
1310 #------------------------------------------------------------------------------
1312 #------------------------------------------------------------------------------
1313 # CHECK: qsub r1, r2, r3
1314 # CHECK: qsub16 r1, r2, r3
1315 # CHECK: qsub8 r1, r2, r3
1317 # CHECK: qsuble r1, r2, r3
1318 # CHECK: qsub16gt r1, r2, r3
1319 # CHECK: qsub8le r1, r2, r3
1330 #------------------------------------------------------------------------------
1332 #------------------------------------------------------------------------------
1333 # CHECK: rbit r1, r2
1335 # CHECK: rbitne r1, r2
1342 #------------------------------------------------------------------------------
1344 #------------------------------------------------------------------------------
1345 # CHECK: rev.w r1, r2
1346 # CHECK: rev.w r2, r8
1348 # CHECK: revne r1, r2
1349 # CHECK: revne.w r1, r8
1358 #------------------------------------------------------------------------------
1360 #------------------------------------------------------------------------------
1361 # CHECK: rev16.w r1, r2
1362 # CHECK: rev16.w r2, r8
1364 # CHECK: rev16ne r1, r2
1365 # CHECK: rev16ne.w r1, r8
1374 #------------------------------------------------------------------------------
1376 #------------------------------------------------------------------------------
1377 # CHECK: revsh.w r1, r2
1378 # CHECK: revsh.w r2, r8
1380 # CHECK: revshne r1, r2
1381 # CHECK: revshne.w r1, r8
1390 #------------------------------------------------------------------------------
1392 #------------------------------------------------------------------------------
1393 # CHECK: ror.w r2, r3, #12
1394 # CHECK: rors.w r8, r3, #31
1395 # CHECK: rors.w r2, r3, #1
1396 # CHECK: ror.w r2, r3, #4
1397 # CHECK: rors.w r2, r12, #15
1399 # CHECK: ror.w r3, r3, #19
1400 # CHECK: rors.w r8, r8, #2
1401 # CHECK: rors.w r7, r7, #5
1402 # CHECK: ror.w r12, r12, #21
1416 #------------------------------------------------------------------------------
1418 #------------------------------------------------------------------------------
1419 # CHECK: ror.w r3, r4, r2
1420 # CHECK: ror.w r1, r1, r2
1421 # CHECK: rors.w r3, r4, r8
1428 #------------------------------------------------------------------------------
1430 #------------------------------------------------------------------------------
1432 # CHECK: rrxs r1, r2
1434 # CHECK: rrxlt r9, r12
1435 # CHECK: rrxsge r8, r3
1443 #------------------------------------------------------------------------------
1445 #------------------------------------------------------------------------------
1446 # CHECK: rsb.w r2, r5, #1044480
1447 # CHECK: rsbs.w r3, r12, #15
1448 # CHECK: rsb.w r1, r1, #255
1455 #------------------------------------------------------------------------------
1457 #------------------------------------------------------------------------------
1458 # CHECK: rsb r4, r4, r8
1459 # CHECK: rsb r4, r9, r8
1460 # CHECK: rsb r1, r4, r8, asr #3
1461 # CHECK: rsbs r2, r1, r7, lsl #1
1469 #------------------------------------------------------------------------------
1471 #------------------------------------------------------------------------------
1472 # CHECK: sadd16 r3, r4, r8
1474 # CHECK: sadd16ne r3, r4, r8
1481 #------------------------------------------------------------------------------
1483 #------------------------------------------------------------------------------
1484 # CHECK: sadd8 r3, r4, r8
1486 # CHECK: sadd8ne r3, r4, r8
1493 #------------------------------------------------------------------------------
1495 #------------------------------------------------------------------------------
1496 # CHECK: sasx r9, r2, r7
1498 # CHECK: sasxne r2, r5, r6
1505 #------------------------------------------------------------------------------
1507 #------------------------------------------------------------------------------
1508 # CHECK: sbc r0, r1, #4
1509 # CHECK: sbcs r0, r1, #0
1510 # CHECK: sbc r1, r2, #255
1511 # CHECK: sbc r3, r7, #5570645
1512 # CHECK: sbc r8, r12, #2852170240
1513 # CHECK: sbc r9, r7, #2779096485
1514 # CHECK: sbc r5, r3, #2264924160
1515 # CHECK: sbc r4, r2, #2139095040
1516 # CHECK: sbc r4, r2, #1664
1529 #------------------------------------------------------------------------------
1531 #------------------------------------------------------------------------------
1532 # CHECK: sbc.w r4, r5, r6
1533 # CHECK: sbcs.w r4, r5, r6
1534 # CHECK: sbc.w r9, r1, r3
1535 # CHECK: sbcs.w r9, r1, r3
1536 # CHECK: sbc.w r0, r1, r3, ror #4
1537 # CHECK: sbcs.w r0, r1, r3, lsl #7
1538 # CHECK: sbc.w r0, r1, r3, lsr #31
1539 # CHECK: sbcs.w r0, r1, r3, asr #32
1551 #------------------------------------------------------------------------------
1553 #------------------------------------------------------------------------------
1554 # CHECK: sbfx r4, r5, #16, #1
1556 # CHECK: sbfxgt r4, r5, #16, #16
1563 #------------------------------------------------------------------------------
1565 #------------------------------------------------------------------------------
1566 # CHECK: sel r5, r9, r2
1568 # CHECK: selle r5, r9, r2
1575 #------------------------------------------------------------------------------
1577 #------------------------------------------------------------------------------
1587 #------------------------------------------------------------------------------
1589 #------------------------------------------------------------------------------
1590 # CHECK: sadd16 r1, r2, r3
1591 # CHECK: sadd8 r1, r2, r3
1593 # CHECK: sadd16gt r1, r2, r3
1594 # CHECK: sadd8le r1, r2, r3
1603 #------------------------------------------------------------------------------
1605 #------------------------------------------------------------------------------
1606 # CHECK: shasx r4, r8, r2
1608 # CHECK: shasxgt r4, r8, r2
1615 #------------------------------------------------------------------------------
1617 #------------------------------------------------------------------------------
1618 # CHECK: shsax r4, r8, r2
1620 # CHECK: shsaxgt r4, r8, r2
1627 #------------------------------------------------------------------------------
1629 #------------------------------------------------------------------------------
1630 # CHECK: shsub16 r4, r8, r2
1631 # CHECK: shsub8 r4, r8, r2
1633 # CHECK: shsub16gt r4, r8, r2
1634 # CHECK: shsub8gt r4, r8, r2
1643 #------------------------------------------------------------------------------
1644 # SMLABB/SMLABT/SMLATB/SMLATT
1645 #------------------------------------------------------------------------------
1646 # CHECK: smlabb r3, r1, r9, r0
1647 # CHECK: smlabt r5, r6, r4, r1
1648 # CHECK: smlatb r4, r2, r3, r2
1649 # CHECK: smlatt r8, r3, r8, r4
1651 # CHECK: smlabbgt r3, r1, r9, r0
1652 # CHECK: smlabtle r5, r6, r4, r1
1653 # CHECK: smlatbgt r4, r2, r3, r2
1654 # CHECK: smlattle r8, r3, r8, r4
1667 #------------------------------------------------------------------------------
1669 #------------------------------------------------------------------------------
1670 # CHECK: smlad r2, r3, r5, r8
1671 # CHECK: smladx r2, r3, r5, r8
1673 # CHECK: smladhi r2, r3, r5, r8
1674 # CHECK: smladxhi r2, r3, r5, r8
1683 #------------------------------------------------------------------------------
1685 #------------------------------------------------------------------------------
1686 # CHECK: smlal r2, r3, r5, r8
1688 # CHECK: smlaleq r2, r3, r5, r8
1695 #------------------------------------------------------------------------------
1696 # SMLALBB/SMLALBT/SMLALTB/SMLALTT
1697 #------------------------------------------------------------------------------
1698 # CHECK: smlalbb r3, r1, r9, r0
1699 # CHECK: smlalbt r5, r6, r4, r1
1700 # CHECK: smlaltb r4, r2, r3, r2
1701 # CHECK: smlaltt r8, r3, r8, r4
1703 # CHECK: smlalbbge r3, r1, r9, r0
1704 # CHECK: smlalbtlt r5, r6, r4, r1
1705 # CHECK: smlaltblt r4, r2, r3, r2
1706 # CHECK: smlalttge r8, r3, r8, r4
1718 #------------------------------------------------------------------------------
1720 #------------------------------------------------------------------------------
1721 # CHECK: smlald r2, r3, r5, r8
1722 # CHECK: smlaldx r2, r3, r5, r8
1724 # CHECK: smlaldeq r2, r3, r5, r8
1725 # CHECK: smlaldxne r2, r3, r5, r8
1734 #------------------------------------------------------------------------------
1736 #------------------------------------------------------------------------------
1737 # CHECK: smlawb r2, r3, r10, r8
1738 # CHECK: smlawt r8, r3, r5, r9
1740 # CHECK: smlawbeq r2, r7, r5, r8
1741 # CHECK: smlawtne r1, r3, r0, r8
1750 #------------------------------------------------------------------------------
1752 #------------------------------------------------------------------------------
1753 # CHECK: smlsd r2, r3, r5, r8
1754 # CHECK: smlsdx r2, r3, r5, r8
1756 # CHECK: smlsdle r2, r3, r5, r8
1757 # CHECK: smlsdxgt r2, r3, r5, r8
1766 #------------------------------------------------------------------------------
1768 #------------------------------------------------------------------------------
1769 # CHECK: smlsld r2, r9, r5, r1
1770 # CHECK: smlsldx r4, r11, r2, r8
1772 # CHECK: smlsldge r8, r2, r5, r6
1773 # CHECK: smlsldxlt r1, r0, r3, r8
1782 #------------------------------------------------------------------------------
1784 #------------------------------------------------------------------------------
1785 # CHECK: smmla r1, r2, r3, r4
1786 # CHECK: smmlar r4, r3, r2, r1
1788 # CHECK: smmlalo r1, r2, r3, r4
1789 # CHECK: smmlarhs r4, r3, r2, r1
1798 #------------------------------------------------------------------------------
1800 #------------------------------------------------------------------------------
1801 # CHECK: smmls r1, r2, r3, r4
1802 # CHECK: smmlsr r4, r3, r2, r1
1804 # CHECK: smmlslo r1, r2, r3, r4
1805 # CHECK: smmlsrhs r4, r3, r2, r1
1813 #------------------------------------------------------------------------------
1815 #------------------------------------------------------------------------------
1816 # CHECK: ssat r9, #30, r0, asr #2
1820 #------------------------------------------------------------------------------
1822 #------------------------------------------------------------------------------
1823 # CHECK: str r10, [r11], #0
1827 #------------------------------------------------------------------------------
1829 #------------------------------------------------------------------------------
1830 # CHECK: strd r6, r3, [r5], #-8
1831 # CHECK: strd r8, r5, [r5], #-0
1832 # CHECK: strd r7, r4, [r5], #-4
1833 # CHECK: strd r0, r1, [r2, #-0]!
1834 # CHECK: strd r0, r1, [r2, #-0]
1842 #------------------------------------------------------------------------------
1843 # STREX/STREXB/STREXH/STREXD
1844 #------------------------------------------------------------------------------
1845 # CHECK: strex r1, r8, [r4]
1846 # CHECK: strex r8, r2, [r4]
1847 # CHECK: strex r2, r12, [sp, #128]
1848 # CHECK: strexb r5, r1, [r7]
1849 # CHECK: strexh r9, r7, [r12]
1850 # CHECK: strexd r9, r3, r6, [r4]
1860 #------------------------------------------------------------------------------
1862 #------------------------------------------------------------------------------
1863 # CHECK: strh r5, [r5, #-4]
1864 # CHECK: strh r5, [r6, #32]
1865 # CHECK: strh.w r5, [r6, #33]
1866 # CHECK: strh.w r5, [r6, #257]
1867 # CHECK: strh.w lr, [r7, #257]
1868 # CHECK: strh r5, [r8, #255]!
1869 # CHECK: strh r2, [r5, #4]!
1870 # CHECK: strh r1, [r4, #-4]!
1871 # CHECK: strh lr, [r3], #255
1872 # CHECK: strh r9, [r2], #4
1873 # CHECK: strh r3, [sp], #-4
1888 #------------------------------------------------------------------------------
1890 #------------------------------------------------------------------------------
1891 # CHECK: strh.w r1, [r8, r1]
1892 # CHECK: strh.w r4, [r5, r2]
1893 # CHECK: strh.w r6, [r0, r2, lsl #3]
1894 # CHECK: strh.w r8, [r8, r2, lsl #2]
1895 # CHECK: strh.w r7, [sp, r2, lsl #1]
1896 # CHECK: strh.w r7, [sp, r2]
1906 #------------------------------------------------------------------------------
1908 #------------------------------------------------------------------------------
1909 # CHECK: strht r1, [r2]
1910 # CHECK: strht r1, [r8]
1911 # CHECK: strht r1, [r8, #3]
1912 # CHECK: strht r1, [r8, #255]
1920 #------------------------------------------------------------------------------
1922 #------------------------------------------------------------------------------
1923 # CHECK: strt r1, [r2]
1924 # CHECK: strt r1, [r8]
1925 # CHECK: strt r1, [r8, #3]
1926 # CHECK: strt r1, [r8, #255]
1934 #------------------------------------------------------------------------------
1936 #------------------------------------------------------------------------------
1938 # CHECK: subeq r1, r2, #4
1939 # CHECK: subwne r5, r3, #1023
1940 # CHECK: subweq r4, r5, #293
1941 # CHECK: sub.w r2, sp, #1024
1942 # CHECK: sub.w r2, r8, #65280
1943 # CHECK: subw r2, r3, #257
1944 # CHECK: sub.w r12, r6, #256
1945 # CHECK: subw r12, r6, #256
1946 # CHECK: subs.w r1, r2, #496
1960 #------------------------------------------------------------------------------
1962 #------------------------------------------------------------------------------
1963 # CHECK: sub.w r4, r5, r6
1964 # CHECK: sub.w r4, r5, r6, lsl #5
1965 # CHECK: sub.w r4, r5, r6, lsr #5
1966 # CHECK: sub.w r4, r5, r6, lsr #5
1967 # CHECK: sub.w r4, r5, r6, asr #5
1968 # CHECK: sub.w r4, r5, r6, ror #5
1969 # CHECK: sub.w r5, r2, r12, rrx
1980 #------------------------------------------------------------------------------
1982 #------------------------------------------------------------------------------
1993 #------------------------------------------------------------------------------
1995 #------------------------------------------------------------------------------
1996 # CHECK: sxtab r2, r3, r4
1997 # CHECK: sxtab r4, r5, r6
1999 # CHECK: sxtablt r6, r2, r9, ror #8
2000 # CHECK: sxtab r5, r1, r4, ror #16
2001 # CHECK: sxtab r7, r8, r3, ror #24
2011 #------------------------------------------------------------------------------
2013 #------------------------------------------------------------------------------
2014 # CHECK: sxtab16 r6, r2, r7
2015 # CHECK: sxtab16 r3, r5, r8, ror #8
2016 # CHECK: sxtab16 r3, r2, r1, ror #16
2018 # CHECK: sxtab16ne r0, r1, r4
2019 # CHECK: sxtab16eq r1, r2, r3, ror #24
2029 #------------------------------------------------------------------------------
2031 #------------------------------------------------------------------------------
2032 # CHECK: sxtah r1, r3, r9
2033 # CHECK: sxtah r3, r8, r3, ror #8
2034 # CHECK: sxtah r9, r3, r3, ror #24
2036 # CHECK: sxtahhi r6, r1, r6
2037 # CHECK: sxtahls r2, r2, r4, ror #16
2047 #------------------------------------------------------------------------------
2049 #------------------------------------------------------------------------------
2050 # CHECK: sxtb r5, r6
2051 # CHECK: sxtb.w r6, r9, ror #8
2052 # CHECK: sxtb.w r8, r3, ror #24
2054 # CHECK: sxtbge r2, r4
2055 # CHECK: sxtblt.w r5, r1, ror #16
2065 #------------------------------------------------------------------------------
2067 #------------------------------------------------------------------------------
2068 # CHECK: sxtb16 r1, r4
2069 # CHECK: sxtb16 r6, r7
2070 # CHECK: sxtb16 r3, r1, ror #16
2072 # CHECK: sxtb16hs r3, r5, ror #8
2073 # CHECK: sxtb16lo r2, r3, ror #24
2083 #------------------------------------------------------------------------------
2085 #------------------------------------------------------------------------------
2086 # CHECK: sxth r1, r6
2087 # CHECK: sxth.w r3, r8, ror #8
2088 # CHECK: sxth.w r9, r3, ror #24
2090 # CHECK: sxthne.w r3, r9
2091 # CHECK: sxthne.w r2, r2, ror #16
2101 #------------------------------------------------------------------------------
2103 #------------------------------------------------------------------------------
2104 # CHECK: sxtb r5, r6
2105 # CHECK: sxtb.w r6, r9, ror #8
2106 # CHECK: sxtb.w r8, r3, ror #24
2108 # CHECK: sxtbge r2, r4
2109 # CHECK: sxtblt.w r5, r1, ror #16
2119 #------------------------------------------------------------------------------
2121 #------------------------------------------------------------------------------
2122 # CHECK: sxtb16 r1, r4
2123 # CHECK: sxtb16 r6, r7
2124 # CHECK: sxtb16 r3, r1, ror #16
2126 # CHECK: sxtb16hs r3, r5, ror #8
2127 # CHECK: sxtb16lo r2, r3, ror #24
2137 #------------------------------------------------------------------------------
2139 #------------------------------------------------------------------------------
2140 # CHECK: sxth r1, r6
2141 # CHECK: sxth.w r3, r8, ror #8
2142 # CHECK: sxth.w r9, r3, ror #24
2144 # CHECK: sxthne.w r3, r9
2145 # CHECK: sxthne.w r2, r2, ror #16
2155 #------------------------------------------------------------------------------
2157 #------------------------------------------------------------------------------
2158 # CHECK: tbb [r3, r8]
2159 # CHECK: tbh [r3, r8, lsl #1]
2161 # CHECK: tbbeq [r3, r8]
2163 # CHECK: tbhhs [r3, r8, lsl #1]
2173 #------------------------------------------------------------------------------
2175 #------------------------------------------------------------------------------
2176 # CHECK: teq.w r5, #61440
2177 # CHECK: teq.w r4, r5
2178 # CHECK: teq.w r4, r5, lsl #5
2179 # CHECK: teq.w r4, r5, lsr #5
2180 # CHECK: teq.w r4, r5, lsr #5
2181 # CHECK: teq.w r4, r5, asr #5
2182 # CHECK: teq.w r4, r5, ror #5
2193 #------------------------------------------------------------------------------
2195 #------------------------------------------------------------------------------
2196 # CHECK: tst.w r5, #61440
2198 # CHECK: tst.w r3, r12, lsl #5
2199 # CHECK: tst.w r4, r11, lsr #4
2200 # CHECK: tst.w r5, r10, lsr #12
2201 # CHECK: tst.w r6, r9, asr #30
2202 # CHECK: tst.w r7, r8, ror #2
2213 #------------------------------------------------------------------------------
2215 #------------------------------------------------------------------------------
2216 # CHECK: uadd16 r1, r2, r3
2217 # CHECK: uadd8 r1, r2, r3
2219 # CHECK: uadd16gt r1, r2, r3
2220 # CHECK: uadd8le r1, r2, r3
2229 #------------------------------------------------------------------------------
2231 #------------------------------------------------------------------------------
2232 # CHECK: uasx r9, r12, r0
2234 # CHECK: uasxeq r9, r12, r0
2235 # CHECK: uasx r9, r12, r0
2237 # CHECK: uasxeq r9, r12, r0
2247 #------------------------------------------------------------------------------
2249 #------------------------------------------------------------------------------
2250 # CHECK: ubfx r4, r5, #16, #1
2252 # CHECK: ubfxgt r4, r5, #16, #16
2259 #------------------------------------------------------------------------------
2261 #------------------------------------------------------------------------------
2262 # CHECK: uhadd16 r4, r8, r2
2263 # CHECK: uhadd8 r4, r8, r2
2265 # CHECK: uhadd16gt r4, r8, r2
2266 # CHECK: uhadd8gt r4, r8, r2
2275 #------------------------------------------------------------------------------
2277 #------------------------------------------------------------------------------
2278 # CHECK: uhasx r4, r1, r5
2279 # CHECK: uhsax r5, r6, r6
2281 # CHECK: uhasxgt r6, r9, r8
2282 # CHECK: uhsaxgt r7, r8, r12
2290 #------------------------------------------------------------------------------
2292 #------------------------------------------------------------------------------
2293 # CHECK: uhsub16 r5, r8, r3
2294 # CHECK: uhsub8 r1, r7, r6
2296 # CHECK: uhsub16lt r4, r9, r12
2297 # CHECK: uhsub8lt r3, r1, r5
2306 #------------------------------------------------------------------------------
2308 #------------------------------------------------------------------------------
2309 # CHECK: umaal r3, r4, r5, r6
2311 # CHECK: umaallt r3, r4, r5, r6
2318 #------------------------------------------------------------------------------
2320 #------------------------------------------------------------------------------
2321 # CHECK: umlal r2, r4, r6, r8
2323 # CHECK: umlalgt r6, r1, r2, r6
2330 #------------------------------------------------------------------------------
2332 #------------------------------------------------------------------------------
2333 # CHECK: umull r2, r4, r6, r8
2335 # CHECK: umullgt r6, r1, r2, r6
2342 #------------------------------------------------------------------------------
2344 #------------------------------------------------------------------------------
2345 # CHECK: uqadd16 r1, r2, r3
2346 # CHECK: uqadd8 r3, r4, r8
2348 # CHECK: uqadd16gt r4, r7, r9
2349 # CHECK: uqadd8le r8, r1, r2
2358 #------------------------------------------------------------------------------
2360 #------------------------------------------------------------------------------
2361 # CHECK: uqasx r1, r2, r3
2362 # CHECK: uqsax r3, r4, r8
2364 # CHECK: uqasxgt r4, r7, r9
2365 # CHECK: uqsaxle r8, r1, r2
2374 #------------------------------------------------------------------------------
2376 #------------------------------------------------------------------------------
2377 # CHECK: uqsub8 r8, r2, r9
2378 # CHECK: uqsub16 r1, r9, r7
2380 # CHECK: uqsub8gt r3, r1, r6
2381 # CHECK: uqsub16le r4, r6, r4
2390 #------------------------------------------------------------------------------
2392 #------------------------------------------------------------------------------
2393 # CHECK: usad8 r1, r9, r7
2394 # CHECK: usada8 r8, r2, r9, r12
2396 # CHECK: usada8gt r3, r1, r6, r9
2397 # CHECK: usad8le r4, r6, r4
2406 #------------------------------------------------------------------------------
2408 #------------------------------------------------------------------------------
2409 # CHECK: usat r8, #1, r10
2410 # CHECK: usat r8, #4, r10
2411 # CHECK: usat r8, #5, r10, lsl #31
2412 # CHECK: usat r8, #16, r10, asr #1
2420 #------------------------------------------------------------------------------
2422 #------------------------------------------------------------------------------
2423 # CHECK: usat16 r2, #2, r7
2424 # CHECK: usat16 r3, #15, r5
2430 #------------------------------------------------------------------------------
2432 #------------------------------------------------------------------------------
2433 # CHECK: usax r2, r3, r4
2435 # CHECK: usaxne r6, r1, r9
2436 # CHECK: usax r2, r3, r4
2438 # CHECK: usaxne r6, r1, r9
2448 #------------------------------------------------------------------------------
2450 #------------------------------------------------------------------------------
2451 # CHECK: usub16 r4, r2, r7
2452 # CHECK: usub8 r1, r8, r5
2454 # CHECK: usub16hi r1, r1, r3
2455 # CHECK: usub8ls r9, r2, r3
2464 #------------------------------------------------------------------------------
2466 #------------------------------------------------------------------------------
2467 # CHECK: uxtab r2, r3, r4
2468 # CHECK: uxtab r4, r5, r6
2470 # CHECK: uxtablt r6, r2, r9, ror #8
2471 # CHECK: uxtab r5, r1, r4, ror #16
2472 # CHECK: uxtab r7, r8, r3, ror #24
2482 #------------------------------------------------------------------------------
2484 #------------------------------------------------------------------------------
2486 # CHECK: uxtab16ge r0, r1, r4
2487 # CHECK: uxtab16 r6, r2, r7
2488 # CHECK: uxtab16 r3, r5, r8, ror #8
2489 # CHECK: uxtab16 r3, r2, r1, ror #16
2491 # CHECK: uxtab16eq r1, r2, r3, ror #24
2502 #------------------------------------------------------------------------------
2504 #------------------------------------------------------------------------------
2505 # CHECK: uxtah r1, r3, r9
2507 # CHECK: uxtahhi r6, r1, r6
2508 # CHECK: uxtah r3, r8, r3, ror #8
2510 # CHECK: uxtahlo r2, r2, r4, ror #16
2511 # CHECK: uxtah r9, r3, r3, ror #24
2522 #------------------------------------------------------------------------------
2524 #------------------------------------------------------------------------------
2526 # CHECK: uxtbge r2, r4
2527 # CHECK: uxtb r5, r6
2528 # CHECK: uxtb.w r6, r9, ror #8
2530 # CHECK: uxtblo.w r5, r1, ror #16
2531 # CHECK: uxtb.w r8, r3, ror #24
2542 #------------------------------------------------------------------------------
2544 #------------------------------------------------------------------------------
2545 # CHECK: uxtb16 r1, r4
2546 # CHECK: uxtb16 r6, r7
2548 # CHECK: uxtb16hs r3, r5, ror #8
2549 # CHECK: uxtb16 r3, r1, ror #16
2551 # CHECK: uxtb16ge r2, r3, ror #24
2562 #------------------------------------------------------------------------------
2564 #------------------------------------------------------------------------------
2566 # CHECK: uxthne.w r3, r9
2567 # CHECK: uxth r1, r6
2568 # CHECK: uxth.w r3, r8, ror #8
2570 # CHECK: uxthle.w r2, r2, ror #16
2571 # CHECK: uxth.w r9, r3, ror #24
2582 #------------------------------------------------------------------------------
2584 #------------------------------------------------------------------------------