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
99 #------------------------------------------------------------------------------
101 #------------------------------------------------------------------------------
102 # CHECK: and r2, r5, #1044480
103 # CHECK: ands r3, r12, #15
104 # CHECK: and r1, r1, #255
111 #------------------------------------------------------------------------------
113 #------------------------------------------------------------------------------
114 # CHECK: and.w r4, r9, r8
115 # CHECK: and.w r1, r4, r8, asr #3
116 # CHECK: ands.w r2, r1, r7, lsl #1
117 # CHECK: ands.w r4, r5, r2, lsr #20
118 # CHECK: and.w r9, r12, r1, ror #17
126 #------------------------------------------------------------------------------
128 #------------------------------------------------------------------------------
129 # CHECK: asr.w r2, r3, #12
130 # CHECK: asrs.w r8, r3, #32
131 # CHECK: asrs.w r2, r3, #1
132 # CHECK: asr.w r2, r3, #4
133 # CHECK: asrs.w r2, r12, #15
135 # CHECK: asr.w r3, r3, #19
136 # CHECK: asrs.w r8, r8, #2
137 # CHECK: asrs.w r7, r7, #5
138 # CHECK: asr.w r12, r12, #21
152 #------------------------------------------------------------------------------
154 #------------------------------------------------------------------------------
155 # CHECK: asr.w r3, r4, r2
156 # CHECK: asr.w r1, r1, r2
157 # CHECK: asrs.w r3, r4, r8
163 #------------------------------------------------------------------------------
165 #------------------------------------------------------------------------------
166 # CHECK: bmi.w #-183396
171 #------------------------------------------------------------------------------
173 #------------------------------------------------------------------------------
174 # CHECK: bfc r5, #3, #17
176 # CHECK: bfclo r5, #3, #17
183 #------------------------------------------------------------------------------
185 #------------------------------------------------------------------------------
186 # CHECK: bfi r5, r2, #3, #17
188 # CHECK: bfine r5, r2, #3, #17
189 # CHECK: bfi r6, r0, #0, #32
190 # CHECK: bfi r6, r0, #31, #1
199 #------------------------------------------------------------------------------
201 #------------------------------------------------------------------------------
202 # CHECK: bic r10, r1, #15
203 # CHECK: bic.w r12, r3, r6
204 # CHECK: bic.w r11, r2, r6, lsl #12
205 # CHECK: bic.w r8, r4, r1, lsr #11
206 # CHECK: bic.w r7, r5, r7, lsr #15
207 # CHECK: bic.w r6, r7, r9, asr #32
208 # CHECK: bic.w r5, r6, r8, ror #1
210 # CHECK: bic r1, r1, #15
211 # CHECK: bic.w r1, r1, r1
212 # CHECK: bic.w r4, r4, r2, lsl #31
213 # CHECK: bic.w r6, r6, r3, lsr #12
214 # CHECK: bic.w r7, r7, r4, lsr #7
215 # CHECK: bic.w r8, r8, r5, asr #15
216 # CHECK: bic.w r12, r12, r6, ror #29
235 #------------------------------------------------------------------------------
237 #------------------------------------------------------------------------------
247 #------------------------------------------------------------------------------
249 #------------------------------------------------------------------------------
251 # CHECK: cbnz r7, #12
256 #------------------------------------------------------------------------------
258 #------------------------------------------------------------------------------
259 # CHECK: cdp p7, #1, c1, c1, c1, #4
260 # CHECK: cdp2 p7, #1, c1, c1, c1, #4
266 #------------------------------------------------------------------------------
268 #------------------------------------------------------------------------------
278 #------------------------------------------------------------------------------
280 #------------------------------------------------------------------------------
290 #------------------------------------------------------------------------------
292 #------------------------------------------------------------------------------
293 #CHECK: cmn.w r1, #15
295 #CHECK: cmn.w r1, r6, lsl #10
296 #CHECK: cmn.w r1, r6, lsr #10
297 #CHECK: cmn.w sp, r6, lsr #10
298 #CHECK: cmn.w r1, r6, asr #10
299 #CHECK: cmn.w r1, r6, ror #10
310 #------------------------------------------------------------------------------
312 #------------------------------------------------------------------------------
313 #CHECK: cmp.w r5, #65280
314 #CHECK: cmp.w r4, r12
315 #CHECK: cmp.w r9, r6, lsl #12
316 #CHECK: cmp.w r3, r7, lsr #31
317 #CHECK: cmp.w sp, r6, lsr #1
318 #CHECK: cmp.w r2, r5, asr #24
319 #CHECK: cmp.w r1, r4, ror #15
330 #------------------------------------------------------------------------------
332 #------------------------------------------------------------------------------
342 #------------------------------------------------------------------------------
344 #------------------------------------------------------------------------------
366 #------------------------------------------------------------------------------
368 #------------------------------------------------------------------------------
388 #------------------------------------------------------------------------------
390 #------------------------------------------------------------------------------
391 #CHECK: eor r4, r5, #61440
392 #CHECK: eor.w r4, r5, r6
393 #CHECK: eor.w r4, r5, r6, lsl #5
394 #CHECK: eor.w r4, r5, r6, lsr #5
395 #CHECK: eor.w r4, r5, r6, lsr #5
396 #CHECK: eor.w r4, r5, r6, asr #5
397 #CHECK: eor.w r4, r5, r6, ror #5
408 #------------------------------------------------------------------------------
410 #------------------------------------------------------------------------------
415 #------------------------------------------------------------------------------
417 #------------------------------------------------------------------------------
418 # Test encodings of a few full IT blocks, not just the IT instruction
421 # CHECK: addeq r0, r1, r2
423 # CHECK: subne r5, r6, r7
424 # CHECK: addeq r1, r2, #4
433 # CHECK: addls r0, r1, r2
435 # CHECK: subhi r5, r6, r7
436 # CHECK: addhi r1, r2, #4
445 #------------------------------------------------------------------------------
447 #------------------------------------------------------------------------------
448 # CHECK: ldm.w r4, {r4, r5, r8, r9}
449 # CHECK: ldm.w r4, {r5, r6}
450 # CHECK: ldm.w r5!, {r3, r8}
451 # CHECK: ldm.w r4, {r4, r5, r8, r9}
452 # CHECK: ldm.w r4, {r5, r6}
453 # CHECK: ldm.w r5!, {r3, r8}
454 # CHECK: ldm.w r5!, {r1, r2}
455 # CHECK: ldm.w r2, {r1, r2}
457 # CHECK: ldm.w r4, {r4, r5, r8, r9}
458 # CHECK: ldm.w r4, {r5, r6}
459 # CHECK: ldm.w r5!, {r3, r8}
460 # CHECK: ldm.w r4, {r4, r5, r8, r9}
461 # CHECK: ldm.w r4, {r5, r6}
462 # CHECK: ldm.w r5!, {r3, r8}
463 # CHECK: ldm.w r5!, {r3, r8}
483 #------------------------------------------------------------------------------
485 #------------------------------------------------------------------------------
486 # CHECK: ldmdb r4, {r4, r5, r8, r9}
487 # CHECK: ldmdb r4, {r5, r6}
488 # CHECK: ldmdb r5!, {r3, r8}
489 # CHECK: ldmdb r5!, {r3, r8}
497 #------------------------------------------------------------------------------
499 #------------------------------------------------------------------------------
500 # CHECK: ldr r5, [r5, #-4]
501 # CHECK: ldr r5, [r6, #32]
502 # CHECK: ldr.w r5, [r6, #33]
503 # CHECK: ldr.w r5, [r6, #257]
504 # CHECK: ldr.w pc, [r7, #257]
513 #------------------------------------------------------------------------------
515 #------------------------------------------------------------------------------
516 # CHECK: ldr.w r1, [r8, r1]
517 # CHECK: ldr.w r4, [r5, r2]
518 # CHECK: ldr.w r6, [r0, r2, lsl #3]
519 # CHECK: ldr.w r8, [r8, r2, lsl #2]
520 # CHECK: ldr.w r7, [sp, r2, lsl #1]
521 # CHECK: ldr.w r7, [sp, r2]
522 # CHECK: ldr r2, [r4, #255]!
523 # CHECK: ldr r8, [sp, #4]!
524 # CHECK: ldr lr, [sp, #-4]!
525 # CHECK: ldr r2, [r4], #255
526 # CHECK: ldr r8, [sp], #4
527 # CHECK: ldr lr, [sp], #-4
543 #------------------------------------------------------------------------------
545 #------------------------------------------------------------------------------
546 # CHECK: ldrb r5, [r5, #-4]
547 # CHECK: ldrb.w r5, [r6, #32]
548 # CHECK: ldrb.w r5, [r6, #33]
549 # CHECK: ldrb.w r5, [r6, #257]
550 # CHECK: ldrb.w lr, [r7, #257]
559 #------------------------------------------------------------------------------
561 #------------------------------------------------------------------------------
562 # CHECK: ldrb.w r1, [r8, r1]
563 # CHECK: ldrb.w r4, [r5, r2]
564 # CHECK: ldrb.w r6, [r0, r2, lsl #3]
565 # CHECK: ldrb.w r8, [r8, r2, lsl #2]
566 # CHECK: ldrb.w r7, [sp, r2, lsl #1]
567 # CHECK: ldrb.w r7, [sp, r2]
568 # CHECK: ldrb r5, [r8, #255]!
569 # CHECK: ldrb r2, [r5, #4]!
570 # CHECK: ldrb r1, [r4, #-4]!
571 # CHECK: ldrb lr, [r3], #255
572 # CHECK: ldrb r9, [r2], #4
573 # CHECK: ldrb r3, [sp], #-4
589 #------------------------------------------------------------------------------
591 #------------------------------------------------------------------------------
592 # CHECK: ldrbt r1, [r2]
593 # CHECK: ldrbt r1, [r8]
594 # CHECK: ldrbt r1, [r8, #3]
595 # CHECK: ldrbt r1, [r8, #255]
603 #------------------------------------------------------------------------------
605 #------------------------------------------------------------------------------
606 # CHECK: ldrd r3, r5, [r6, #24]
607 # CHECK: ldrd r3, r5, [r6, #24]!
608 # CHECK: ldrd r3, r5, [r6], #4
609 # CHECK: ldrd r3, r5, [r6], #-8
610 # CHECK: ldrd r3, r5, [r6]
611 # CHECK: ldrd r8, r1, [r3]
621 #------------------------------------------------------------------------------
622 # FIXME: LDRD(literal)
623 #------------------------------------------------------------------------------
626 #------------------------------------------------------------------------------
627 # LDREX/LDREXB/LDREXH/LDREXD
628 #------------------------------------------------------------------------------
629 # CHECK: ldrex r1, [r4]
630 # CHECK: ldrex r8, [r4]
631 # CHECK: ldrex r2, [sp, #128]
632 # CHECK: ldrexb r5, [r7]
633 # CHECK: ldrexh r9, [r12]
634 # CHECK: ldrexd r9, r3, [r4]
644 #------------------------------------------------------------------------------
646 #------------------------------------------------------------------------------
647 # CHECK: ldrh r5, [r5, #-4]
648 # CHECK: ldrh r5, [r6, #32]
649 # CHECK: ldrh.w r5, [r6, #33]
650 # CHECK: ldrh.w r5, [r6, #257]
651 # CHECK: ldrh.w lr, [r7, #257]
652 # CHECK: ldrh.w r0, [pc, #-21]
662 #------------------------------------------------------------------------------
664 #------------------------------------------------------------------------------
665 # CHECK: ldrh.w r1, [r8, r1]
666 # CHECK: ldrh.w r4, [r5, r2]
667 # CHECK: ldrh.w r6, [r0, r2, lsl #3]
668 # CHECK: ldrh.w r8, [r8, r2, lsl #2]
669 # CHECK: ldrh.w r7, [sp, r2, lsl #1]
670 # CHECK: ldrh.w r7, [sp, r2]
671 # CHECK: ldrh r5, [r8, #255]!
672 # CHECK: ldrh r2, [r5, #4]!
673 # CHECK: ldrh r1, [r4, #-4]!
674 # CHECK: ldrh lr, [r3], #255
675 # CHECK: ldrh r9, [r2], #4
676 # CHECK: ldrh r3, [sp], #-4
692 #------------------------------------------------------------------------------
694 #------------------------------------------------------------------------------
695 # CHECK: ldrsb r5, [r5, #-4]
696 # CHECK: ldrsb.w r5, [r6, #32]
697 # CHECK: ldrsb.w r5, [r6, #33]
698 # CHECK: ldrsb.w r5, [r6, #257]
699 # CHECK: ldrsb.w lr, [r7, #257]
708 #------------------------------------------------------------------------------
710 #------------------------------------------------------------------------------
711 # CHECK: ldrsb.w r1, [r8, r1]
712 # CHECK: ldrsb.w r4, [r5, r2]
713 # CHECK: ldrsb.w r6, [r0, r2, lsl #3]
714 # CHECK: ldrsb.w r8, [r8, r2, lsl #2]
715 # CHECK: ldrsb.w r7, [sp, r2, lsl #1]
716 # CHECK: ldrsb.w r7, [sp, r2]
717 # CHECK: ldrsb r5, [r8, #255]!
718 # CHECK: ldrsb r2, [r5, #4]!
719 # CHECK: ldrsb r1, [r4, #-4]!
720 # CHECK: ldrsb lr, [r3], #255
721 # CHECK: ldrsb r9, [r2], #4
722 # CHECK: ldrsb r3, [sp], #-4
738 #------------------------------------------------------------------------------
740 #------------------------------------------------------------------------------
741 # CHECK: ldrsbt r1, [r2]
742 # CHECK: ldrsbt r1, [r8]
743 # CHECK: ldrsbt r1, [r8, #3]
744 # CHECK: ldrsbt r1, [r8, #255]
752 #------------------------------------------------------------------------------
754 #------------------------------------------------------------------------------
755 # CHECK: ldrsh r5, [r5, #-4]
756 # CHECK: ldrsh.w r5, [r6, #32]
757 # CHECK: ldrsh.w r5, [r6, #33]
758 # CHECK: ldrsh.w r5, [r6, #257]
759 # CHECK: ldrsh.w lr, [r7, #257]
760 # CHECK: ldrsh r10, [r5, #-0]
769 #------------------------------------------------------------------------------
771 #------------------------------------------------------------------------------
772 # CHECK: ldrsh.w r1, [r8, r1]
773 # CHECK: ldrsh.w r4, [r5, r2]
774 # CHECK: ldrsh.w r6, [r0, r2, lsl #3]
775 # CHECK: ldrsh.w r8, [r8, r2, lsl #2]
776 # CHECK: ldrsh.w r7, [sp, r2, lsl #1]
777 # CHECK: ldrsh.w r7, [sp, r2]
778 # CHECK: ldrsh r5, [r8, #255]!
779 # CHECK: ldrsh r2, [r5, #4]!
780 # CHECK: ldrsh r1, [r4, #-4]!
781 # CHECK: ldrsh lr, [r3], #255
782 # CHECK: ldrsh r9, [r2], #4
783 # CHECK: ldrsh r3, [sp], #-4
799 #------------------------------------------------------------------------------
801 #------------------------------------------------------------------------------
802 # CHECK: ldrsht r1, [r2]
803 # CHECK: ldrsht r1, [r8]
804 # CHECK: ldrsht r1, [r8, #3]
805 # CHECK: ldrsht r1, [r8, #255]
813 #------------------------------------------------------------------------------
815 #------------------------------------------------------------------------------
816 # CHECK: ldrt r1, [r2]
817 # CHECK: ldrt r2, [r6]
818 # CHECK: ldrt r3, [r7, #3]
819 # CHECK: ldrt r4, [r9, #255]
827 #------------------------------------------------------------------------------
829 #------------------------------------------------------------------------------
830 # CHECK: lsl.w r2, r3, #12
831 # CHECK: lsls.w r8, r3, #31
832 # CHECK: lsls.w r2, r3, #1
833 # CHECK: lsl.w r2, r3, #4
834 # CHECK: lsls.w r2, r12, #15
836 # CHECK: lsl.w r3, r3, #19
837 # CHECK: lsls.w r8, r8, #2
838 # CHECK: lsls.w r7, r7, #5
839 # CHECK: lsl.w r12, r12, #21
853 #------------------------------------------------------------------------------
855 #------------------------------------------------------------------------------
856 # CHECK: lsl.w r3, r4, r2
857 # CHECK: lsl.w r1, r1, r2
858 # CHECK: lsls.w r3, r4, r8
865 #------------------------------------------------------------------------------
867 #------------------------------------------------------------------------------
868 # CHECK: lsr.w r2, r3, #12
869 # CHECK: lsrs.w r8, r3, #32
870 # CHECK: lsrs.w r2, r3, #1
871 # CHECK: lsr.w r2, r3, #4
872 # CHECK: lsrs.w r2, r12, #15
874 # CHECK: lsr.w r3, r3, #19
875 # CHECK: lsrs.w r8, r8, #2
876 # CHECK: lsrs.w r7, r7, #5
877 # CHECK: lsr.w r12, r12, #21
891 #------------------------------------------------------------------------------
893 #------------------------------------------------------------------------------
894 # CHECK: lsr.w r3, r4, r2
895 # CHECK: lsr.w r1, r1, r2
896 # CHECK: lsrs.w r3, r4, r8
902 #------------------------------------------------------------------------------
904 #------------------------------------------------------------------------------
905 # CHECK: mcr p7, #1, r5, c1, c1, #4
906 # CHECK: mcr2 p7, #1, r5, c1, c1, #4
912 #------------------------------------------------------------------------------
914 #------------------------------------------------------------------------------
915 # CHECK: mcrr p7, #15, r5, r4, c1
916 # CHECK: mcrr2 p7, #15, r5, r4, c1
922 #------------------------------------------------------------------------------
924 #------------------------------------------------------------------------------
925 # CHECK: mla r1, r2, r3, r4
926 # CHECK: mls r1, r2, r3, r4
932 #------------------------------------------------------------------------------
934 #------------------------------------------------------------------------------
935 # CHECK: movs r1, #21
936 # CHECK: movs.w r1, #21
937 # CHECK: movs.w r8, #21
938 # CHECK: movw r0, #65535
939 # CHECK: movw r1, #43777
940 # CHECK: movw r1, #43792
941 # CHECK: mov.w r0, #66846720
942 # CHECK: mov.w r0, #66846720
943 # CHECK: movs.w r0, #66846720
955 #------------------------------------------------------------------------------
957 #------------------------------------------------------------------------------
959 # CHECK: movt r6, #65535
961 # CHECK: movteq r4, #4080
968 #------------------------------------------------------------------------------
970 #------------------------------------------------------------------------------
971 # CHECK: mrc p14, #0, r1, c1, c2, #4
972 # CHECK: mrc2 p14, #0, r1, c1, c2, #4
978 #------------------------------------------------------------------------------
980 #------------------------------------------------------------------------------
981 # CHECK: mrrc p7, #1, r5, r4, c1
982 # CHECK: mrrc2 p7, #1, r5, r4, c1
988 #------------------------------------------------------------------------------
990 #------------------------------------------------------------------------------
991 # CHECK: mrs r8, apsr
992 # CHECK: mrs r8, spsr
998 #------------------------------------------------------------------------------
1000 #------------------------------------------------------------------------------
1001 # CHECK: msr APSR_nzcvq, r1
1002 # CHECK: msr APSR_g, r2
1003 # CHECK: msr APSR_nzcvq, r3
1004 # CHECK: msr APSR_nzcvq, r4
1005 # CHECK: msr APSR_nzcvqg, r5
1006 # CHECK: msr CPSR_fc, r6
1007 # CHECK: msr CPSR_c, r7
1008 # CHECK: msr CPSR_x, r8
1009 # CHECK: msr CPSR_fc, r9
1010 # CHECK: msr CPSR_fc, r11
1011 # CHECK: msr CPSR_fsx, r12
1012 # CHECK: msr SPSR_fc, r0
1013 # CHECK: msr SPSR_fsxc, r5
1014 # CHECK: msr CPSR_fsxc, r8
1032 #------------------------------------------------------------------------------
1034 #------------------------------------------------------------------------------
1035 # CHECK: muls r3, r4, r3
1036 # CHECK: mul r3, r4, r3
1037 # CHECK: mul r3, r4, r6
1039 # CHECK: muleq r3, r4, r5
1048 #------------------------------------------------------------------------------
1050 #------------------------------------------------------------------------------
1051 # CHECK: mvns r8, #21
1052 # CHECK: mvn r0, #66846720
1053 # CHECK: mvns r0, #66846720
1055 # CHECK: mvnseq r1, #12
1056 # CHECK: mvneq r1, #12
1057 # CHECK: mvnne r1, #12
1068 #------------------------------------------------------------------------------
1070 #------------------------------------------------------------------------------
1071 # CHECK: mvn.w r2, r3
1072 # CHECK: mvns r2, r3
1073 # CHECK: mvn.w r5, r6, lsl #19
1074 # CHECK: mvn.w r5, r6, lsr #9
1075 # CHECK: mvn.w r5, r6, asr #4
1076 # CHECK: mvn.w r5, r6, ror #6
1077 # CHECK: mvn.w r5, r6, rrx
1079 # CHECK: mvneq r2, r3
1091 #------------------------------------------------------------------------------
1093 #------------------------------------------------------------------------------
1099 #------------------------------------------------------------------------------
1101 #------------------------------------------------------------------------------
1102 # CHECK: orn r4, r5, #61440
1103 # CHECK: orn r4, r5, r6
1104 # CHECK: orns r4, r5, r6
1105 # CHECK: orn r4, r5, r6, lsl #5
1106 # CHECK: orns r4, r5, r6, lsr #5
1107 # CHECK: orn r4, r5, r6, lsr #5
1108 # CHECK: orns r4, r5, r6, asr #5
1109 # CHECK: orn r4, r5, r6, ror #5
1121 #------------------------------------------------------------------------------
1123 #------------------------------------------------------------------------------
1124 # CHECK: orr r4, r5, #61440
1125 # CHECK: orr.w r4, r5, r6
1126 # CHECK: orr.w r4, r5, r6, lsl #5
1127 # CHECK: orrs.w r4, r5, r6, lsr #5
1128 # CHECK: orr.w r4, r5, r6, lsr #5
1129 # CHECK: orrs.w r4, r5, r6, asr #5
1130 # CHECK: orr.w r4, r5, r6, ror #5
1141 #------------------------------------------------------------------------------
1143 #------------------------------------------------------------------------------
1144 # CHECK: pkhbt r2, r2, r3
1145 # CHECK: pkhbt r2, r2, r3, lsl #31
1146 # CHECK: pkhbt r2, r2, r3, lsl #15
1148 # CHECK: pkhtb r2, r2, r3, asr #31
1149 # CHECK: pkhtb r2, r2, r3, asr #15
1159 #------------------------------------------------------------------------------
1161 #------------------------------------------------------------------------------
1162 # CHECK: pld [r5, #-4]
1163 # CHECK: pld [r6, #32]
1164 # CHECK: pld [r6, #33]
1165 # CHECK: pld [r6, #257]
1166 # CHECK: pld [r7, #257]
1174 #------------------------------------------------------------------------------
1176 #------------------------------------------------------------------------------
1177 # CHECK: pld [r8, r1]
1178 # CHECK: pld [r5, r2]
1179 # CHECK: pld [r0, r2, lsl #3]
1180 # CHECK: pld [r8, r2, lsl #2]
1181 # CHECK: pld [sp, r2, lsl #1]
1182 # CHECK: pld [sp, r2]
1191 #------------------------------------------------------------------------------
1193 #------------------------------------------------------------------------------
1194 # CHECK: pli [r5, #-4]
1195 # CHECK: pli [r6, #32]
1196 # CHECK: pli [r6, #33]
1197 # CHECK: pli [r6, #257]
1198 # CHECK: pli [r7, #257]
1206 #------------------------------------------------------------------------------
1208 #------------------------------------------------------------------------------
1209 # CHECK: pli [r8, r1]
1210 # CHECK: pli [r5, r2]
1211 # CHECK: pli [r0, r2, lsl #3]
1212 # CHECK: pli [r8, r2, lsl #2]
1213 # CHECK: pli [sp, r2, lsl #1]
1214 # CHECK: pli [sp, r2]
1224 #------------------------------------------------------------------------------
1226 #------------------------------------------------------------------------------
1227 # CHECK: qadd r1, r2, r3
1228 # CHECK: qadd16 r1, r2, r3
1229 # CHECK: qadd8 r1, r2, r3
1231 # CHECK: qaddgt r1, r2, r3
1232 # CHECK: qadd16gt r1, r2, r3
1233 # CHECK: qadd8le r1, r2, r3
1244 #------------------------------------------------------------------------------
1246 #------------------------------------------------------------------------------
1247 # CHECK: qdadd r6, r7, r8
1248 # CHECK: qdsub r6, r7, r8
1250 # CHECK: qdaddhi r6, r7, r8
1251 # CHECK: qdsubhi r6, r7, r8
1260 #------------------------------------------------------------------------------
1262 #------------------------------------------------------------------------------
1263 # CHECK: qsax r9, r12, r0
1265 # CHECK: qsaxeq r9, r12, r0
1272 #------------------------------------------------------------------------------
1274 #------------------------------------------------------------------------------
1275 # CHECK: qsub r1, r2, r3
1276 # CHECK: qsub16 r1, r2, r3
1277 # CHECK: qsub8 r1, r2, r3
1279 # CHECK: qsuble r1, r2, r3
1280 # CHECK: qsub16gt r1, r2, r3
1281 # CHECK: qsub8le r1, r2, r3
1292 #------------------------------------------------------------------------------
1294 #------------------------------------------------------------------------------
1295 # CHECK: rbit r1, r2
1297 # CHECK: rbitne r1, r2
1304 #------------------------------------------------------------------------------
1306 #------------------------------------------------------------------------------
1307 # CHECK: rev.w r1, r2
1308 # CHECK: rev.w r2, r8
1310 # CHECK: revne r1, r2
1311 # CHECK: revne.w r1, r8
1320 #------------------------------------------------------------------------------
1322 #------------------------------------------------------------------------------
1323 # CHECK: rev16.w r1, r2
1324 # CHECK: rev16.w r2, r8
1326 # CHECK: rev16ne r1, r2
1327 # CHECK: rev16ne.w r1, r8
1336 #------------------------------------------------------------------------------
1338 #------------------------------------------------------------------------------
1339 # CHECK: revsh.w r1, r2
1340 # CHECK: revsh.w r2, r8
1342 # CHECK: revshne r1, r2
1343 # CHECK: revshne.w r1, r8
1352 #------------------------------------------------------------------------------
1354 #------------------------------------------------------------------------------
1355 # CHECK: ror.w r2, r3, #12
1356 # CHECK: rors.w r8, r3, #31
1357 # CHECK: rors.w r2, r3, #1
1358 # CHECK: ror.w r2, r3, #4
1359 # CHECK: rors.w r2, r12, #15
1361 # CHECK: ror.w r3, r3, #19
1362 # CHECK: rors.w r8, r8, #2
1363 # CHECK: rors.w r7, r7, #5
1364 # CHECK: ror.w r12, r12, #21
1378 #------------------------------------------------------------------------------
1380 #------------------------------------------------------------------------------
1381 # CHECK: ror.w r3, r4, r2
1382 # CHECK: ror.w r1, r1, r2
1383 # CHECK: rors.w r3, r4, r8
1390 #------------------------------------------------------------------------------
1392 #------------------------------------------------------------------------------
1394 # CHECK: rrxs r1, r2
1396 # CHECK: rrxlt r9, r12
1397 # CHECK: rrxsge r8, r3
1405 #------------------------------------------------------------------------------
1407 #------------------------------------------------------------------------------
1408 # CHECK: rsb.w r2, r5, #1044480
1409 # CHECK: rsbs.w r3, r12, #15
1410 # CHECK: rsb.w r1, r1, #255
1417 #------------------------------------------------------------------------------
1419 #------------------------------------------------------------------------------
1420 # CHECK: rsb r4, r4, r8
1421 # CHECK: rsb r4, r9, r8
1422 # CHECK: rsb r1, r4, r8, asr #3
1423 # CHECK: rsbs r2, r1, r7, lsl #1
1431 #------------------------------------------------------------------------------
1433 #------------------------------------------------------------------------------
1434 # CHECK: sadd16 r3, r4, r8
1436 # CHECK: sadd16ne r3, r4, r8
1443 #------------------------------------------------------------------------------
1445 #------------------------------------------------------------------------------
1446 # CHECK: sadd8 r3, r4, r8
1448 # CHECK: sadd8ne r3, r4, r8
1455 #------------------------------------------------------------------------------
1457 #------------------------------------------------------------------------------
1458 # CHECK: sasx r9, r2, r7
1460 # CHECK: sasxne r2, r5, r6
1467 #------------------------------------------------------------------------------
1469 #------------------------------------------------------------------------------
1470 # CHECK: sbc r0, r1, #4
1471 # CHECK: sbcs r0, r1, #0
1472 # CHECK: sbc r1, r2, #255
1473 # CHECK: sbc r3, r7, #5570645
1474 # CHECK: sbc r8, r12, #2852170240
1475 # CHECK: sbc r9, r7, #2779096485
1476 # CHECK: sbc r5, r3, #2264924160
1477 # CHECK: sbc r4, r2, #2139095040
1478 # CHECK: sbc r4, r2, #1664
1491 #------------------------------------------------------------------------------
1493 #------------------------------------------------------------------------------
1494 # CHECK: sbc.w r4, r5, r6
1495 # CHECK: sbcs.w r4, r5, r6
1496 # CHECK: sbc.w r9, r1, r3
1497 # CHECK: sbcs.w r9, r1, r3
1498 # CHECK: sbc.w r0, r1, r3, ror #4
1499 # CHECK: sbcs.w r0, r1, r3, lsl #7
1500 # CHECK: sbc.w r0, r1, r3, lsr #31
1501 # CHECK: sbcs.w r0, r1, r3, asr #32
1513 #------------------------------------------------------------------------------
1515 #------------------------------------------------------------------------------
1516 # CHECK: sbfx r4, r5, #16, #1
1518 # CHECK: sbfxgt r4, r5, #16, #16
1525 #------------------------------------------------------------------------------
1527 #------------------------------------------------------------------------------
1528 # CHECK: sel r5, r9, r2
1530 # CHECK: selle r5, r9, r2
1537 #------------------------------------------------------------------------------
1539 #------------------------------------------------------------------------------
1549 #------------------------------------------------------------------------------
1551 #------------------------------------------------------------------------------
1552 # CHECK: sadd16 r1, r2, r3
1553 # CHECK: sadd8 r1, r2, r3
1555 # CHECK: sadd16gt r1, r2, r3
1556 # CHECK: sadd8le r1, r2, r3
1565 #------------------------------------------------------------------------------
1567 #------------------------------------------------------------------------------
1568 # CHECK: shasx r4, r8, r2
1570 # CHECK: shasxgt r4, r8, r2
1577 #------------------------------------------------------------------------------
1579 #------------------------------------------------------------------------------
1580 # CHECK: shsax r4, r8, r2
1582 # CHECK: shsaxgt r4, r8, r2
1589 #------------------------------------------------------------------------------
1591 #------------------------------------------------------------------------------
1592 # CHECK: shsub16 r4, r8, r2
1593 # CHECK: shsub8 r4, r8, r2
1595 # CHECK: shsub16gt r4, r8, r2
1596 # CHECK: shsub8gt r4, r8, r2
1605 #------------------------------------------------------------------------------
1606 # SMLABB/SMLABT/SMLATB/SMLATT
1607 #------------------------------------------------------------------------------
1608 # CHECK: smlabb r3, r1, r9, r0
1609 # CHECK: smlabt r5, r6, r4, r1
1610 # CHECK: smlatb r4, r2, r3, r2
1611 # CHECK: smlatt r8, r3, r8, r4
1613 # CHECK: smlabbgt r3, r1, r9, r0
1614 # CHECK: smlabtle r5, r6, r4, r1
1615 # CHECK: smlatbgt r4, r2, r3, r2
1616 # CHECK: smlattle r8, r3, r8, r4
1629 #------------------------------------------------------------------------------
1631 #------------------------------------------------------------------------------
1632 # CHECK: smlad r2, r3, r5, r8
1633 # CHECK: smladx r2, r3, r5, r8
1635 # CHECK: smladhi r2, r3, r5, r8
1636 # CHECK: smladxhi r2, r3, r5, r8
1645 #------------------------------------------------------------------------------
1647 #------------------------------------------------------------------------------
1648 # CHECK: smlal r2, r3, r5, r8
1650 # CHECK: smlaleq r2, r3, r5, r8
1657 #------------------------------------------------------------------------------
1658 # SMLALBB/SMLALBT/SMLALTB/SMLALTT
1659 #------------------------------------------------------------------------------
1660 # CHECK: smlalbb r3, r1, r9, r0
1661 # CHECK: smlalbt r5, r6, r4, r1
1662 # CHECK: smlaltb r4, r2, r3, r2
1663 # CHECK: smlaltt r8, r3, r8, r4
1665 # CHECK: smlalbbge r3, r1, r9, r0
1666 # CHECK: smlalbtlt r5, r6, r4, r1
1667 # CHECK: smlaltblt r4, r2, r3, r2
1668 # CHECK: smlalttge r8, r3, r8, r4
1680 #------------------------------------------------------------------------------
1682 #------------------------------------------------------------------------------
1683 # CHECK: smlald r2, r3, r5, r8
1684 # CHECK: smlaldx r2, r3, r5, r8
1686 # CHECK: smlaldeq r2, r3, r5, r8
1687 # CHECK: smlaldxne r2, r3, r5, r8
1696 #------------------------------------------------------------------------------
1698 #------------------------------------------------------------------------------
1699 # CHECK: smlawb r2, r3, r10, r8
1700 # CHECK: smlawt r8, r3, r5, r9
1702 # CHECK: smlawbeq r2, r7, r5, r8
1703 # CHECK: smlawtne r1, r3, r0, r8
1712 #------------------------------------------------------------------------------
1714 #------------------------------------------------------------------------------
1715 # CHECK: smlsd r2, r3, r5, r8
1716 # CHECK: smlsdx r2, r3, r5, r8
1718 # CHECK: smlsdle r2, r3, r5, r8
1719 # CHECK: smlsdxgt r2, r3, r5, r8
1728 #------------------------------------------------------------------------------
1730 #------------------------------------------------------------------------------
1731 # CHECK: smlsld r2, r9, r5, r1
1732 # CHECK: smlsldx r4, r11, r2, r8
1734 # CHECK: smlsldge r8, r2, r5, r6
1735 # CHECK: smlsldxlt r1, r0, r3, r8
1744 #------------------------------------------------------------------------------
1746 #------------------------------------------------------------------------------
1747 # CHECK: smmla r1, r2, r3, r4
1748 # CHECK: smmlar r4, r3, r2, r1
1750 # CHECK: smmlalo r1, r2, r3, r4
1751 # CHECK: smmlarhs r4, r3, r2, r1
1760 #------------------------------------------------------------------------------
1762 #------------------------------------------------------------------------------
1763 # CHECK: smmls r1, r2, r3, r4
1764 # CHECK: smmlsr r4, r3, r2, r1
1766 # CHECK: smmlslo r1, r2, r3, r4
1767 # CHECK: smmlsrhs r4, r3, r2, r1
1775 #------------------------------------------------------------------------------
1777 #------------------------------------------------------------------------------
1778 # CHECK: ssat r9, #30, r0, asr #2
1782 #------------------------------------------------------------------------------
1784 #------------------------------------------------------------------------------
1785 # CHECK: str r10, [r11], #0
1789 #------------------------------------------------------------------------------
1791 #------------------------------------------------------------------------------
1792 # CHECK: strd r6, r3, [r5], #-8
1793 # CHECK: strd r8, r5, [r5]{{$}}
1794 # CHECK: strd r7, r4, [r5], #-4
1800 #------------------------------------------------------------------------------
1801 # STREX/STREXB/STREXH/STREXD
1802 #------------------------------------------------------------------------------
1803 # CHECK: strex r1, r8, [r4]
1804 # CHECK: strex r8, r2, [r4]
1805 # CHECK: strex r2, r12, [sp, #128]
1806 # CHECK: strexb r5, r1, [r7]
1807 # CHECK: strexh r9, r7, [r12]
1808 # CHECK: strexd r9, r3, r6, [r4]
1818 #------------------------------------------------------------------------------
1820 #------------------------------------------------------------------------------
1821 # CHECK: strh r5, [r5, #-4]
1822 # CHECK: strh r5, [r6, #32]
1823 # CHECK: strh.w r5, [r6, #33]
1824 # CHECK: strh.w r5, [r6, #257]
1825 # CHECK: strh.w lr, [r7, #257]
1826 # CHECK: strh r5, [r8, #255]!
1827 # CHECK: strh r2, [r5, #4]!
1828 # CHECK: strh r1, [r4, #-4]!
1829 # CHECK: strh lr, [r3], #255
1830 # CHECK: strh r9, [r2], #4
1831 # CHECK: strh r3, [sp], #-4
1846 #------------------------------------------------------------------------------
1848 #------------------------------------------------------------------------------
1849 # CHECK: strh.w r1, [r8, r1]
1850 # CHECK: strh.w r4, [r5, r2]
1851 # CHECK: strh.w r6, [r0, r2, lsl #3]
1852 # CHECK: strh.w r8, [r8, r2, lsl #2]
1853 # CHECK: strh.w r7, [sp, r2, lsl #1]
1854 # CHECK: strh.w r7, [sp, r2]
1864 #------------------------------------------------------------------------------
1866 #------------------------------------------------------------------------------
1867 # CHECK: strht r1, [r2]
1868 # CHECK: strht r1, [r8]
1869 # CHECK: strht r1, [r8, #3]
1870 # CHECK: strht r1, [r8, #255]
1878 #------------------------------------------------------------------------------
1880 #------------------------------------------------------------------------------
1881 # CHECK: strt r1, [r2]
1882 # CHECK: strt r1, [r8]
1883 # CHECK: strt r1, [r8, #3]
1884 # CHECK: strt r1, [r8, #255]
1892 #------------------------------------------------------------------------------
1894 #------------------------------------------------------------------------------
1896 # CHECK: subeq r1, r2, #4
1897 # CHECK: subwne r5, r3, #1023
1898 # CHECK: subweq r4, r5, #293
1899 # CHECK: sub.w r2, sp, #1024
1900 # CHECK: sub.w r2, r8, #65280
1901 # CHECK: subw r2, r3, #257
1902 # CHECK: sub.w r12, r6, #256
1903 # CHECK: subw r12, r6, #256
1904 # CHECK: subs.w r1, r2, #496
1918 #------------------------------------------------------------------------------
1920 #------------------------------------------------------------------------------
1921 # CHECK: sub.w r4, r5, r6
1922 # CHECK: sub.w r4, r5, r6, lsl #5
1923 # CHECK: sub.w r4, r5, r6, lsr #5
1924 # CHECK: sub.w r4, r5, r6, lsr #5
1925 # CHECK: sub.w r4, r5, r6, asr #5
1926 # CHECK: sub.w r4, r5, r6, ror #5
1927 # CHECK: sub.w r5, r2, r12, rrx
1938 #------------------------------------------------------------------------------
1940 #------------------------------------------------------------------------------
1951 #------------------------------------------------------------------------------
1953 #------------------------------------------------------------------------------
1954 # CHECK: sxtab r2, r3, r4
1955 # CHECK: sxtab r4, r5, r6
1957 # CHECK: sxtablt r6, r2, r9, ror #8
1958 # CHECK: sxtab r5, r1, r4, ror #16
1959 # CHECK: sxtab r7, r8, r3, ror #24
1969 #------------------------------------------------------------------------------
1971 #------------------------------------------------------------------------------
1972 # CHECK: sxtab16 r6, r2, r7
1973 # CHECK: sxtab16 r3, r5, r8, ror #8
1974 # CHECK: sxtab16 r3, r2, r1, ror #16
1976 # CHECK: sxtab16ne r0, r1, r4
1977 # CHECK: sxtab16eq r1, r2, r3, ror #24
1987 #------------------------------------------------------------------------------
1989 #------------------------------------------------------------------------------
1990 # CHECK: sxtah r1, r3, r9
1991 # CHECK: sxtah r3, r8, r3, ror #8
1992 # CHECK: sxtah r9, r3, r3, ror #24
1994 # CHECK: sxtahhi r6, r1, r6
1995 # CHECK: sxtahls r2, r2, r4, ror #16
2005 #------------------------------------------------------------------------------
2007 #------------------------------------------------------------------------------
2008 # CHECK: sxtb r5, r6
2009 # CHECK: sxtb.w r6, r9, ror #8
2010 # CHECK: sxtb.w r8, r3, ror #24
2012 # CHECK: sxtbge r2, r4
2013 # CHECK: sxtblt.w r5, r1, ror #16
2023 #------------------------------------------------------------------------------
2025 #------------------------------------------------------------------------------
2026 # CHECK: sxtb16 r1, r4
2027 # CHECK: sxtb16 r6, r7
2028 # CHECK: sxtb16 r3, r1, ror #16
2030 # CHECK: sxtb16hs r3, r5, ror #8
2031 # CHECK: sxtb16lo r2, r3, ror #24
2041 #------------------------------------------------------------------------------
2043 #------------------------------------------------------------------------------
2044 # CHECK: sxth r1, r6
2045 # CHECK: sxth.w r3, r8, ror #8
2046 # CHECK: sxth.w r9, r3, ror #24
2048 # CHECK: sxthne.w r3, r9
2049 # CHECK: sxthne.w r2, r2, ror #16
2059 #------------------------------------------------------------------------------
2061 #------------------------------------------------------------------------------
2062 # CHECK: sxtb r5, r6
2063 # CHECK: sxtb.w r6, r9, ror #8
2064 # CHECK: sxtb.w r8, r3, ror #24
2066 # CHECK: sxtbge r2, r4
2067 # CHECK: sxtblt.w r5, r1, ror #16
2077 #------------------------------------------------------------------------------
2079 #------------------------------------------------------------------------------
2080 # CHECK: sxtb16 r1, r4
2081 # CHECK: sxtb16 r6, r7
2082 # CHECK: sxtb16 r3, r1, ror #16
2084 # CHECK: sxtb16hs r3, r5, ror #8
2085 # CHECK: sxtb16lo r2, r3, ror #24
2095 #------------------------------------------------------------------------------
2097 #------------------------------------------------------------------------------
2098 # CHECK: sxth r1, r6
2099 # CHECK: sxth.w r3, r8, ror #8
2100 # CHECK: sxth.w r9, r3, ror #24
2102 # CHECK: sxthne.w r3, r9
2103 # CHECK: sxthne.w r2, r2, ror #16
2113 #------------------------------------------------------------------------------
2115 #------------------------------------------------------------------------------
2116 # CHECK: tbb [r3, r8]
2117 # CHECK: tbh [r3, r8, lsl #1]
2119 # CHECK: tbbeq [r3, r8]
2121 # CHECK: tbhhs [r3, r8, lsl #1]
2131 #------------------------------------------------------------------------------
2133 #------------------------------------------------------------------------------
2134 # CHECK: teq.w r5, #61440
2135 # CHECK: teq.w r4, r5
2136 # CHECK: teq.w r4, r5, lsl #5
2137 # CHECK: teq.w r4, r5, lsr #5
2138 # CHECK: teq.w r4, r5, lsr #5
2139 # CHECK: teq.w r4, r5, asr #5
2140 # CHECK: teq.w r4, r5, ror #5
2151 #------------------------------------------------------------------------------
2153 #------------------------------------------------------------------------------
2154 # CHECK: tst.w r5, #61440
2156 # CHECK: tst.w r3, r12, lsl #5
2157 # CHECK: tst.w r4, r11, lsr #4
2158 # CHECK: tst.w r5, r10, lsr #12
2159 # CHECK: tst.w r6, r9, asr #30
2160 # CHECK: tst.w r7, r8, ror #2
2171 #------------------------------------------------------------------------------
2173 #------------------------------------------------------------------------------
2174 # CHECK: uadd16 r1, r2, r3
2175 # CHECK: uadd8 r1, r2, r3
2177 # CHECK: uadd16gt r1, r2, r3
2178 # CHECK: uadd8le r1, r2, r3
2187 #------------------------------------------------------------------------------
2189 #------------------------------------------------------------------------------
2190 # CHECK: uasx r9, r12, r0
2192 # CHECK: uasxeq r9, r12, r0
2193 # CHECK: uasx r9, r12, r0
2195 # CHECK: uasxeq r9, r12, r0
2205 #------------------------------------------------------------------------------
2207 #------------------------------------------------------------------------------
2208 # CHECK: ubfx r4, r5, #16, #1
2210 # CHECK: ubfxgt r4, r5, #16, #16
2217 #------------------------------------------------------------------------------
2219 #------------------------------------------------------------------------------
2220 # CHECK: uhadd16 r4, r8, r2
2221 # CHECK: uhadd8 r4, r8, r2
2223 # CHECK: uhadd16gt r4, r8, r2
2224 # CHECK: uhadd8gt r4, r8, r2
2233 #------------------------------------------------------------------------------
2235 #------------------------------------------------------------------------------
2236 # CHECK: uhasx r4, r1, r5
2237 # CHECK: uhsax r5, r6, r6
2239 # CHECK: uhasxgt r6, r9, r8
2240 # CHECK: uhsaxgt r7, r8, r12
2248 #------------------------------------------------------------------------------
2250 #------------------------------------------------------------------------------
2251 # CHECK: uhsub16 r5, r8, r3
2252 # CHECK: uhsub8 r1, r7, r6
2254 # CHECK: uhsub16lt r4, r9, r12
2255 # CHECK: uhsub8lt r3, r1, r5
2264 #------------------------------------------------------------------------------
2266 #------------------------------------------------------------------------------
2267 # CHECK: umaal r3, r4, r5, r6
2269 # CHECK: umaallt r3, r4, r5, r6
2276 #------------------------------------------------------------------------------
2278 #------------------------------------------------------------------------------
2279 # CHECK: umlal r2, r4, r6, r8
2281 # CHECK: umlalgt r6, r1, r2, r6
2288 #------------------------------------------------------------------------------
2290 #------------------------------------------------------------------------------
2291 # CHECK: umull r2, r4, r6, r8
2293 # CHECK: umullgt r6, r1, r2, r6
2300 #------------------------------------------------------------------------------
2302 #------------------------------------------------------------------------------
2303 # CHECK: uqadd16 r1, r2, r3
2304 # CHECK: uqadd8 r3, r4, r8
2306 # CHECK: uqadd16gt r4, r7, r9
2307 # CHECK: uqadd8le r8, r1, r2
2316 #------------------------------------------------------------------------------
2318 #------------------------------------------------------------------------------
2319 # CHECK: uqasx r1, r2, r3
2320 # CHECK: uqsax r3, r4, r8
2322 # CHECK: uqasxgt r4, r7, r9
2323 # CHECK: uqsaxle r8, r1, r2
2332 #------------------------------------------------------------------------------
2334 #------------------------------------------------------------------------------
2335 # CHECK: uqsub8 r8, r2, r9
2336 # CHECK: uqsub16 r1, r9, r7
2338 # CHECK: uqsub8gt r3, r1, r6
2339 # CHECK: uqsub16le r4, r6, r4
2348 #------------------------------------------------------------------------------
2350 #------------------------------------------------------------------------------
2351 # CHECK: usad8 r1, r9, r7
2352 # CHECK: usada8 r8, r2, r9, r12
2354 # CHECK: usada8gt r3, r1, r6, r9
2355 # CHECK: usad8le r4, r6, r4
2364 #------------------------------------------------------------------------------
2366 #------------------------------------------------------------------------------
2367 # CHECK: usat r8, #1, r10
2368 # CHECK: usat r8, #4, r10
2369 # CHECK: usat r8, #5, r10, lsl #31
2370 # CHECK: usat r8, #16, r10, asr #1
2378 #------------------------------------------------------------------------------
2380 #------------------------------------------------------------------------------
2381 # CHECK: usat16 r2, #2, r7
2382 # CHECK: usat16 r3, #15, r5
2388 #------------------------------------------------------------------------------
2390 #------------------------------------------------------------------------------
2391 # CHECK: usax r2, r3, r4
2393 # CHECK: usaxne r6, r1, r9
2394 # CHECK: usax r2, r3, r4
2396 # CHECK: usaxne r6, r1, r9
2406 #------------------------------------------------------------------------------
2408 #------------------------------------------------------------------------------
2409 # CHECK: usub16 r4, r2, r7
2410 # CHECK: usub8 r1, r8, r5
2412 # CHECK: usub16hi r1, r1, r3
2413 # CHECK: usub8ls r9, r2, r3
2422 #------------------------------------------------------------------------------
2424 #------------------------------------------------------------------------------
2425 # CHECK: uxtab r2, r3, r4
2426 # CHECK: uxtab r4, r5, r6
2428 # CHECK: uxtablt r6, r2, r9, ror #8
2429 # CHECK: uxtab r5, r1, r4, ror #16
2430 # CHECK: uxtab r7, r8, r3, ror #24
2440 #------------------------------------------------------------------------------
2442 #------------------------------------------------------------------------------
2444 # CHECK: uxtab16ge r0, r1, r4
2445 # CHECK: uxtab16 r6, r2, r7
2446 # CHECK: uxtab16 r3, r5, r8, ror #8
2447 # CHECK: uxtab16 r3, r2, r1, ror #16
2449 # CHECK: uxtab16eq r1, r2, r3, ror #24
2460 #------------------------------------------------------------------------------
2462 #------------------------------------------------------------------------------
2463 # CHECK: uxtah r1, r3, r9
2465 # CHECK: uxtahhi r6, r1, r6
2466 # CHECK: uxtah r3, r8, r3, ror #8
2468 # CHECK: uxtahlo r2, r2, r4, ror #16
2469 # CHECK: uxtah r9, r3, r3, ror #24
2480 #------------------------------------------------------------------------------
2482 #------------------------------------------------------------------------------
2484 # CHECK: uxtbge r2, r4
2485 # CHECK: uxtb r5, r6
2486 # CHECK: uxtb.w r6, r9, ror #8
2488 # CHECK: uxtblo.w r5, r1, ror #16
2489 # CHECK: uxtb.w r8, r3, ror #24
2500 #------------------------------------------------------------------------------
2502 #------------------------------------------------------------------------------
2503 # CHECK: uxtb16 r1, r4
2504 # CHECK: uxtb16 r6, r7
2506 # CHECK: uxtb16hs r3, r5, ror #8
2507 # CHECK: uxtb16 r3, r1, ror #16
2509 # CHECK: uxtb16ge r2, r3, ror #24
2520 #------------------------------------------------------------------------------
2522 #------------------------------------------------------------------------------
2524 # CHECK: uxthne.w r3, r9
2525 # CHECK: uxth r1, r6
2526 # CHECK: uxth.w r3, r8, ror #8
2528 # CHECK: uxthle.w r2, r2, ror #16
2529 # CHECK: uxth.w r9, r3, ror #24
2540 #------------------------------------------------------------------------------
2542 #------------------------------------------------------------------------------