1 # RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s
3 #------------------------------------------------------------------------------
5 #------------------------------------------------------------------------------
6 # CHECK: adc r1, r2, #15
7 # CHECK: adc r1, r2, #240
8 # CHECK: adc r1, r2, #3840
9 # CHECK: adc r1, r2, #61440
10 # CHECK: adc r1, r2, #983040
11 # CHECK: adc r1, r2, #15728640
12 # CHECK: adc r1, r2, #251658240
13 # CHECK: adc r1, r2, #-268435456
14 # CHECK: adc r1, r2, #-268435441
15 # CHECK: adc r7, r8, #-2147483638
16 # CHECK: adc r7, r8, #40, #2
17 # CHECK: adcs r1, r2, #3840
18 # CHECK: adcs r7, r8, #40, #2
19 # CHECK: adcseq r1, r2, #3840
20 # CHECK: adceq r1, r2, #3840
39 #------------------------------------------------------------------------------
41 # ADC (shifted register)
42 #------------------------------------------------------------------------------
43 # CHECK: adc r4, r5, r6
45 # CHECK: adc r4, r5, r6, lsl #1
46 # CHECK: adc r4, r5, r6, lsl #31
47 # CHECK: adc r4, r5, r6, lsr #1
48 # CHECK: adc r4, r5, r6, lsr #31
49 # CHECK: adc r4, r5, r6, lsr #32
50 # CHECK: adc r4, r5, r6, asr #1
51 # CHECK: adc r4, r5, r6, asr #31
52 # CHECK: adc r4, r5, r6, asr #32
53 # CHECK: adc r4, r5, r6, ror #1
54 # CHECK: adc r4, r5, r6, ror #31
56 # CHECK: adc r6, r7, r8, lsl r9
57 # CHECK: adc r6, r7, r8, lsr r9
58 # CHECK: adc r6, r7, r8, asr r9
59 # CHECK: adc r6, r7, r8, ror r9
60 # CHECK: adc r4, r5, r6, rrx
62 # CHECK: adc r5, r5, r6
63 # CHECK: adc r4, r4, r5, lsl #1
64 # CHECK: adc r4, r4, r5, lsl #31
65 # CHECK: adc r4, r4, r5, lsr #1
66 # CHECK: adc r4, r4, r5, lsr #31
67 # CHECK: adc r4, r4, r5, lsr #32
68 # CHECK: adc r4, r4, r5, asr #1
69 # CHECK: adc r4, r4, r5, asr #31
70 # CHECK: adc r4, r4, r5, asr #32
71 # CHECK: adc r4, r4, r5, ror #1
72 # CHECK: adc r4, r4, r5, ror #31
73 # CHECK: adc r4, r4, r5, rrx
74 # CHECK: adc r6, r6, r7, lsl r9
75 # CHECK: adc r6, r6, r7, lsr r9
76 # CHECK: adc r6, r6, r7, asr r9
77 # CHECK: adc r6, r6, r7, ror r9
78 # CHECK: adc r4, r4, r5, rrx
117 #------------------------------------------------------------------------------
119 #------------------------------------------------------------------------------
120 # CHECK: add r4, r5, #61440
121 # CHECK: add r7, r8, #-2147483638
122 # CHECK: add r7, r8, #40, #2
123 # CHECK: add r4, r5, r6
124 # CHECK: add r4, r5, r6, lsl #5
125 # CHECK: add r4, r5, r6, lsr #5
126 # CHECK: add r4, r5, r6, lsr #5
127 # CHECK: add r4, r5, r6, asr #5
128 # CHECK: add r4, r5, r6, ror #5
129 # CHECK: add r6, r7, r8, lsl r9
130 # CHECK: add r6, r7, r8, lsr r9
131 # CHECK: add r6, r7, r8, asr r9
132 # CHECK: add r6, r7, r8, ror r9
133 # CHECK: add r4, r5, r6, rrx
135 # CHECK: add r5, r5, #61440
136 # CHECK: add r4, r4, r5
137 # CHECK: add r4, r4, r5, lsl #5
138 # CHECK: add r4, r4, r5, lsr #5
139 # CHECK: add r4, r4, r5, lsr #5
140 # CHECK: add r4, r4, r5, asr #5
141 # CHECK: add r4, r4, r5, ror #5
142 # CHECK: add r6, r6, r7, lsl r9
143 # CHECK: add r6, r6, r7, lsr r9
144 # CHECK: add r6, r6, r7, asr r9
145 # CHECK: add r6, r6, r7, ror r9
146 # CHECK: add r4, r4, r5, rrx
177 #------------------------------------------------------------------------------
179 #------------------------------------------------------------------------------
180 # CHECK: adds r7, r8, #-2147483638
181 # CHECK: adds r7, r8, #40, #2
186 #------------------------------------------------------------------------------
188 #------------------------------------------------------------------------------
189 # CHECK: add r2, pc, #3
190 # CHECK: sub r2, pc, #3
191 # CHECK: sub r1, pc, #0
192 # CHECK: sub r1, pc, #301989888
193 # CHECK: add r1, pc, #301989888
201 #------------------------------------------------------------------------------
203 #------------------------------------------------------------------------------
204 # CHECK: and r10, r1, #15
205 # CHECK: and r7, r8, #-2147483638
206 # CHECK: and r7, r8, #40, #2
207 # CHECK: and r10, r1, r6
208 # CHECK: and r10, r1, r6, lsl #10
209 # CHECK: and r10, r1, r6, lsr #10
210 # CHECK: and r10, r1, r6, lsr #10
211 # CHECK: and r10, r1, r6, asr #10
212 # CHECK: and r10, r1, r6, ror #10
213 # CHECK: and r6, r7, r8, lsl r2
214 # CHECK: and r6, r7, r8, lsr r2
215 # CHECK: and r6, r7, r8, asr r2
216 # CHECK: and r6, r7, r8, ror r2
217 # CHECK: and r10, r1, r6, rrx
219 # CHECK: and r1, r1, #15
220 # CHECK: and r10, r10, r1
221 # CHECK: and r10, r10, r1, lsl #10
222 # CHECK: and r10, r10, r1, lsr #10
223 # CHECK: and r10, r10, r1, lsr #10
224 # CHECK: and r10, r10, r1, asr #10
225 # CHECK: and r10, r10, r1, ror #10
226 # CHECK: and r6, r6, r7, lsl r2
227 # CHECK: and r6, r6, r7, lsr r2
228 # CHECK: and r6, r6, r7, asr r2
229 # CHECK: and r6, r6, r7, ror r2
230 # CHECK: and r10, r10, r1, rrx
260 #------------------------------------------------------------------------------
262 #------------------------------------------------------------------------------
264 #------------------------------------------------------------------------------
266 #------------------------------------------------------------------------------
267 # CHECK: bfc r5, #3, #17
268 # CHECK: bfclo r5, #3, #17
274 #------------------------------------------------------------------------------
276 #------------------------------------------------------------------------------
277 # CHECK: bfi r5, r2, #3, #17
278 # CHECK: bfine r5, r2, #3, #17
284 #------------------------------------------------------------------------------
286 #------------------------------------------------------------------------------
287 # CHECK: bic r10, r1, #15
288 # CHECK: bic r7, r8, #-2147483638
289 # CHECK: bic r7, r8, #40, #2
290 # CHECK: bic r10, r1, r6
291 # CHECK: bic r10, r1, r6, lsl #10
292 # CHECK: bic r10, r1, r6, lsr #10
293 # CHECK: bic r10, r1, r6, lsr #10
294 # CHECK: bic r10, r1, r6, asr #10
295 # CHECK: bic r10, r1, r6, ror #10
296 # CHECK: bic r6, r7, r8, lsl r2
297 # CHECK: bic r6, r7, r8, lsr r2
298 # CHECK: bic r6, r7, r8, asr r2
299 # CHECK: bic r6, r7, r8, ror r2
300 # CHECK: bic r10, r1, r6, rrx
302 # CHECK: bic r1, r1, #15
303 # CHECK: bic r10, r10, r1
304 # CHECK: bic r10, r10, r1, lsl #10
305 # CHECK: bic r10, r10, r1, lsr #10
306 # CHECK: bic r10, r10, r1, lsr #10
307 # CHECK: bic r10, r10, r1, asr #10
308 # CHECK: bic r10, r10, r1, ror #10
309 # CHECK: bic r6, r6, r7, lsl r2
310 # CHECK: bic r6, r6, r7, lsr r2
311 # CHECK: bic r6, r6, r7, asr r2
312 # CHECK: bic r6, r6, r7, ror r2
313 # CHECK: bic r10, r10, r1, rrx
344 #------------------------------------------------------------------------------
346 #------------------------------------------------------------------------------
353 #------------------------------------------------------------------------------
355 #------------------------------------------------------------------------------
362 #------------------------------------------------------------------------------
364 #------------------------------------------------------------------------------
365 # CHECK: blx #32424576
366 # CHECK: blx #16212288
371 #------------------------------------------------------------------------------
373 #------------------------------------------------------------------------------
381 #------------------------------------------------------------------------------
383 #------------------------------------------------------------------------------
392 #------------------------------------------------------------------------------
394 #------------------------------------------------------------------------------
395 # CHECK: cdp p7, #1, c1, c1, c1, #4
396 # CHECK: cdp2 p7, #1, c1, c1, c1, #4
402 #------------------------------------------------------------------------------
404 #------------------------------------------------------------------------------
410 #------------------------------------------------------------------------------
412 #------------------------------------------------------------------------------
414 # CHECK: clzeq r1, r2
419 #------------------------------------------------------------------------------
421 #------------------------------------------------------------------------------
423 # CHECK: cmn r7, #40, #2
424 # CHECK: cmn r7, #-2147483638
426 # CHECK: cmn r1, r6, lsl #10
427 # CHECK: cmn r1, r6, lsr #10
428 # CHECK: cmn sp, r6, lsr #10
429 # CHECK: cmn r1, r6, asr #10
430 # CHECK: cmn r1, r6, ror #10
431 # CHECK: cmn r7, r8, lsl r2
432 # CHECK: cmn sp, r8, lsr r2
433 # CHECK: cmn r7, r8, asr r2
434 # CHECK: cmn r7, r8, ror r2
435 # CHECK: cmn r1, r6, rrx
452 #------------------------------------------------------------------------------
454 #------------------------------------------------------------------------------
456 # CHECK: cmp r7, #40, #2
457 # CHECK: cmp r7, #-2147483638
459 # CHECK: cmp r1, r6, lsl #10
460 # CHECK: cmp r1, r6, lsr #10
461 # CHECK: cmp sp, r6, lsr #10
462 # CHECK: cmp r1, r6, asr #10
463 # CHECK: cmp r1, r6, ror #10
464 # CHECK: cmp r7, r8, lsl r2
465 # CHECK: cmp sp, r8, lsr r2
466 # CHECK: cmp r7, r8, asr r2
467 # CHECK: cmp r7, r8, ror r2
468 # CHECK: cmp r1, r6, rrx
486 #------------------------------------------------------------------------------
488 #------------------------------------------------------------------------------
491 # CHECK: cpsid if, #10
492 # CHECK: cpsid af, #17
493 # CHECK: cpsie f, #26
502 #------------------------------------------------------------------------------
504 #------------------------------------------------------------------------------
514 #------------------------------------------------------------------------------
516 #------------------------------------------------------------------------------
552 #------------------------------------------------------------------------------
554 #------------------------------------------------------------------------------
590 #------------------------------------------------------------------------------
592 #------------------------------------------------------------------------------
593 # CHECK: eor r4, r5, #61440
594 # CHECK: eor r7, r8, #-2147483638
595 # CHECK: eor r7, r8, #40, #2
596 # CHECK: eor r4, r5, r6
597 # CHECK: eor r4, r5, r6, lsl #5
598 # CHECK: eor r4, r5, r6, lsr #5
599 # CHECK: eor r4, r5, r6, lsr #5
600 # CHECK: eor r4, r5, r6, asr #5
601 # CHECK: eor r4, r5, r6, ror #5
602 # CHECK: eor r6, r7, r8, lsl r9
603 # CHECK: eor r6, r7, r8, lsr r9
604 # CHECK: eor r6, r7, r8, asr r9
605 # CHECK: eor r6, r7, r8, ror r9
606 # CHECK: eor r4, r5, r6, rrx
608 # CHECK: eor r5, r5, #61440
609 # CHECK: eor r4, r4, r5
610 # CHECK: eor r4, r4, r5, lsl #5
611 # CHECK: eor r4, r4, r5, lsr #5
612 # CHECK: eor r4, r4, r5, lsr #5
613 # CHECK: eor r4, r4, r5, asr #5
614 # CHECK: eor r4, r4, r5, ror #5
615 # CHECK: eor r6, r6, r7, lsl r9
616 # CHECK: eor r6, r6, r7, lsr r9
617 # CHECK: eor r6, r6, r7, asr r9
618 # CHECK: eor r6, r6, r7, ror r9
619 # CHECK: eor r4, r4, r5, rrx
651 #------------------------------------------------------------------------------
653 #------------------------------------------------------------------------------
662 #------------------------------------------------------------------------------
664 #------------------------------------------------------------------------------
665 # CHECK: ldm r2, {r1, r3, r4, r5, r6, sp}
666 # CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp}
667 # CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp}
668 # CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp}
671 # CHECK: ldm r2!, {r1, r3, r4, r5, r6, sp}
672 # CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp}
673 # CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp}
674 # CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp}
687 #------------------------------------------------------------------------------
688 # LDREX/LDREXB/LDREXH/LDREXD
689 #------------------------------------------------------------------------------
690 # CHECK: ldrexb r3, [r4]
691 # CHECK: ldrexh r2, [r5]
692 # CHECK: ldrex r1, [r7]
693 # CHECK: ldrexd r6, r7, [r8]
701 #------------------------------------------------------------------------------
703 #------------------------------------------------------------------------------
704 #------------------------------------------------------------------------------
706 #------------------------------------------------------------------------------
708 #------------------------------------------------------------------------------
710 #------------------------------------------------------------------------------
711 # CHECK: mcr p7, #1, r5, c1, c1, #4
712 # CHECK: mcr2 p7, #1, r5, c1, c1, #4
717 #------------------------------------------------------------------------------
719 #------------------------------------------------------------------------------
720 # CHECK: mcrr p7, #15, r5, r4, c1
721 # CHECK: mcrr2 p7, #15, r5, r4, c1
727 #------------------------------------------------------------------------------
729 #------------------------------------------------------------------------------
730 # CHECK: mla r1, r2, r3, r4
731 # CHECK: mlas r1, r2, r3, r4
732 # CHECK: mlane r1, r2, r3, r4
733 # CHECK: mlasne r1, r2, r3, r4
740 #------------------------------------------------------------------------------
742 #------------------------------------------------------------------------------
743 # CHECK: mls r2, r5, r6, r3
744 # CHECK: mlsne r2, r5, r6, r3
749 #------------------------------------------------------------------------------
751 #------------------------------------------------------------------------------
753 # CHECK: mov r4, #4080
754 # CHECK: mov r5, #16711680
756 # CHECK: mov r9, #240, #30
757 # CHECK: mov r7, #-2147483638
758 # CHECK: mov pc, #2147483658
759 # CHECK: movw r6, #65535
760 # CHECK: movw r9, #65535
761 # CHECK: movw sp, #1193
763 # CHECK: movs r11, #99
764 # CHECK: movs r11, #240, #30
765 # CHECK: moveq r4, #4080
766 # CHECK: movseq r5, #16711680
784 #------------------------------------------------------------------------------
786 #------------------------------------------------------------------------------
789 # CHECK: moveq r2, r3
790 # CHECK: movseq r2, r3
797 #------------------------------------------------------------------------------
799 #------------------------------------------------------------------------------
801 # CHECK: movt r6, #65535
802 # CHECK: movt sp, #3397
803 # CHECK: movteq r4, #4080
811 #------------------------------------------------------------------------------
813 #------------------------------------------------------------------------------
814 # CHECK: mrc p14, #0, r1, c1, c2, #4
815 # CHECK: mrc p15, #7, apsr_nzcv, c15, c6, #6
816 # CHECK: mrc2 p14, #0, r1, c1, c2, #4
817 # CHECK: mrc2 p9, #7, apsr_nzcv, c15, c0, #1
824 #------------------------------------------------------------------------------
826 #------------------------------------------------------------------------------
827 # CHECK: mrrc p7, #1, r5, r4, c1
828 # CHECK: mrrc2 p7, #1, r5, r4, c1
834 #------------------------------------------------------------------------------
836 #------------------------------------------------------------------------------
837 # CHECK: mrs r8, apsr
838 # CHECK: mrs r8, spsr
844 #------------------------------------------------------------------------------
846 #------------------------------------------------------------------------------
848 # CHECK: msr CPSR_fc, #5
849 # CHECK: msr APSR_g, #5
850 # CHECK: msr APSR_nzcvq, #5
851 # CHECK: msr APSR_nzcvq, #5
852 # CHECK: msr APSR_nzcvqg, #5
853 # CHECK: msr CPSR_fc, #5
854 # CHECK: msr CPSR_c, #5
855 # CHECK: msr CPSR_x, #5
856 # CHECK: msr CPSR_fc, #5
857 # CHECK: msr CPSR_fc, #5
858 # CHECK: msr CPSR_fsx, #5
859 # CHECK: msr SPSR_fc, #5
860 # CHECK: msr SPSR_fsxc, #5
861 # CHECK: msr CPSR_fsxc, #5
862 # CHECK: msr APSR_nzcvq, #2147483658
863 # CHECK: msr SPSR_fsxc, #40, #2
882 # CHECK: msr CPSR_fc, r0
883 # CHECK: msr APSR_g, r0
884 # CHECK: msr APSR_nzcvq, r0
885 # CHECK: msr APSR_nzcvq, r0
886 # CHECK: msr APSR_nzcvqg, r0
887 # CHECK: msr CPSR_fc, r0
888 # CHECK: msr CPSR_c, r0
889 # CHECK: msr CPSR_x, r0
890 # CHECK: msr CPSR_fc, r0
891 # CHECK: msr CPSR_fc, r0
892 # CHECK: msr CPSR_fsx, r0
893 # CHECK: msr SPSR_fc, r0
894 # CHECK: msr SPSR_fsxc, r0
895 # CHECK: msr CPSR_fsxc, r0
912 #------------------------------------------------------------------------------
914 #------------------------------------------------------------------------------
916 # CHECK: mul r5, r6, r7
917 # CHECK: muls r5, r6, r7
918 # CHECK: mulgt r5, r6, r7
919 # CHECK: mulsle r5, r6, r7
927 #------------------------------------------------------------------------------
929 #------------------------------------------------------------------------------
931 # CHECK: mvn r4, #4080
932 # CHECK: mvn r5, #16711680
933 # CHECK: mvn r7, #40, #2
934 # CHECK: mvn r7, #-2147483638
936 # CHECK: mvns r11, #240, #30
937 # CHECK: mvns r11, #-2147483638
938 # CHECK: mvneq r4, #4080
939 # CHECK: mvnseq r5, #16711680
953 #------------------------------------------------------------------------------
955 #------------------------------------------------------------------------------
958 # CHECK: mvn r5, r6, lsl #19
959 # CHECK: mvn r5, r6, lsr #9
960 # CHECK: mvn r5, r6, asr #4
961 # CHECK: mvn r5, r6, ror #6
962 # CHECK: mvn r5, r6, rrx
963 # CHECK: mvneq r2, r3
964 # CHECK: mvnseq r2, r3, lsl #10
977 #------------------------------------------------------------------------------
978 # MVN (shifted register)
979 #------------------------------------------------------------------------------
980 # CHECK: mvn r5, r6, lsl r7
981 # CHECK: mvns r5, r6, lsr r7
982 # CHECK: mvngt r5, r6, asr r7
983 # CHECK: mvnslt r5, r6, ror r7
990 #------------------------------------------------------------------------------
992 #------------------------------------------------------------------------------
1000 #------------------------------------------------------------------------------
1002 #------------------------------------------------------------------------------
1003 # CHECK: orr r4, r5, #61440
1004 # CHECK: orr r7, r8, #-2147483638
1005 # CHECK: orr r7, r8, #40, #2
1006 # CHECK: orr r4, r5, r6
1007 # CHECK: orr r4, r5, r6, lsl #5
1008 # CHECK: orr r4, r5, r6, lsr #5
1009 # CHECK: orr r4, r5, r6, lsr #5
1010 # CHECK: orr r4, r5, r6, asr #5
1011 # CHECK: orr r4, r5, r6, ror #5
1012 # CHECK: orr r6, r7, r8, lsl r9
1013 # CHECK: orr r6, r7, r8, lsr r9
1014 # CHECK: orr r6, r7, r8, asr r9
1015 # CHECK: orr r6, r7, r8, ror r9
1016 # CHECK: orr r4, r5, r6, rrx
1018 # CHECK: orr r5, r5, #61440
1019 # CHECK: orr r4, r4, r5
1020 # CHECK: orr r4, r4, r5, lsl #5
1021 # CHECK: orr r4, r4, r5, lsr #5
1022 # CHECK: orr r4, r4, r5, lsr #5
1023 # CHECK: orr r4, r4, r5, asr #5
1024 # CHECK: orr r4, r4, r5, ror #5
1025 # CHECK: orr r6, r6, r7, lsl r9
1026 # CHECK: orr r6, r6, r7, lsr r9
1027 # CHECK: orr r6, r6, r7, asr r9
1028 # CHECK: orr r6, r6, r7, ror r9
1029 # CHECK: orr r4, r4, r5, rrx
1059 # CHECK: orrseq r4, r5, #61440
1060 # CHECK: orrne r4, r5, r6
1061 # CHECK: orrseq r4, r5, r6, lsl #5
1062 # CHECK: orrlo r6, r7, r8, ror r9
1063 # CHECK: orrshi r4, r5, r6, rrx
1064 # CHECK: orrhs r5, r5, #61440
1065 # CHECK: orrseq r4, r4, r5
1066 # CHECK: orrne r6, r6, r7, asr r9
1067 # CHECK: orrslt r6, r6, r7, ror r9
1068 # CHECK: orrsgt r4, r4, r5, rrx
1081 #------------------------------------------------------------------------------
1083 #------------------------------------------------------------------------------
1084 # CHECK: pkhbt r2, r2, r3
1085 # CHECK: pkhbt r2, r2, r3, lsl #31
1086 # CHECK: pkhbt r2, r2, r3
1087 # CHECK: pkhbt r2, r2, r3, lsl #15
1089 # CHECK: pkhbt r2, r2, r3
1090 # CHECK: pkhtb r2, r2, r3, asr #31
1091 # CHECK: pkhtb r2, r2, r3, asr #15
1102 #------------------------------------------------------------------------------
1104 #------------------------------------------------------------------------------
1105 #------------------------------------------------------------------------------
1107 #------------------------------------------------------------------------------
1110 #------------------------------------------------------------------------------
1112 #------------------------------------------------------------------------------
1113 # CHECK: ldr r7, [sp], #4
1114 # CHECK: pop {r7, r8, r9, r10}
1120 #------------------------------------------------------------------------------
1122 #------------------------------------------------------------------------------
1123 # CHECK: str r7, [sp, #-4]!
1124 # CHECK: push {r7, r8, r9, r10}
1130 #------------------------------------------------------------------------------
1132 #------------------------------------------------------------------------------
1133 # CHECK: qadd r1, r2, r3
1134 # CHECK: qaddne r1, r2, r3
1135 # CHECK: qadd16 r1, r2, r3
1136 # CHECK: qadd16gt r1, r2, r3
1137 # CHECK: qadd8 r1, r2, r3
1138 # CHECK: qadd8le r1, r2, r3
1148 #------------------------------------------------------------------------------
1150 #------------------------------------------------------------------------------
1151 # CHECK: qdadd r6, r7, r8
1152 # CHECK: qdaddhi r6, r7, r8
1153 # CHECK: qdsub r6, r7, r8
1154 # CHECK: qdsubhi r6, r7, r8
1162 #------------------------------------------------------------------------------
1164 #------------------------------------------------------------------------------
1165 # CHECK: qsax r9, r12, r0
1166 # CHECK: qsaxeq r9, r12, r0
1172 #------------------------------------------------------------------------------
1174 #------------------------------------------------------------------------------
1175 # CHECK: qsub r1, r2, r3
1176 # CHECK: qsubne r1, r2, r3
1177 # CHECK: qsub16 r1, r2, r3
1178 # CHECK: qsub16gt r1, r2, r3
1179 # CHECK: qsub8 r1, r2, r3
1180 # CHECK: qsub8le r1, r2, r3
1190 #------------------------------------------------------------------------------
1192 #------------------------------------------------------------------------------
1193 # CHECK: rbit r1, r2
1194 # CHECK: rbitne r1, r2
1200 #------------------------------------------------------------------------------
1202 #------------------------------------------------------------------------------
1204 # CHECK: revne r1, r5
1205 # CHECK: rev16 r8, r3
1206 # CHECK: rev16ne r12, r4
1207 # CHECK: revsh r4, r9
1208 # CHECK: revshne r9, r1
1218 #------------------------------------------------------------------------------
1220 #------------------------------------------------------------------------------
1268 #------------------------------------------------------------------------------
1270 #------------------------------------------------------------------------------
1271 # CHECK: rsb r4, r5, #61440
1272 # CHECK: rsb r7, r8, #-2147483638
1273 # CHECK: rsb r7, r8, #40, #2
1274 # CHECK: rsb r4, r5, r6
1275 # CHECK: rsb r4, r5, r6, lsl #5
1276 # CHECK: rsblo r4, r5, r6, lsr #5
1277 # CHECK: rsb r4, r5, r6, lsr #5
1278 # CHECK: rsb r4, r5, r6, asr #5
1279 # CHECK: rsb r4, r5, r6, ror #5
1280 # CHECK: rsb r6, r7, r8, lsl r9
1281 # CHECK: rsb r6, r7, r8, lsr r9
1282 # CHECK: rsb r6, r7, r8, asr r9
1283 # CHECK: rsble r6, r7, r8, ror r9
1284 # CHECK: rsb r4, r5, r6, rrx
1286 # CHECK: rsb r5, r5, #61440
1287 # CHECK: rsb r4, r4, r5
1288 # CHECK: rsb r4, r4, r5, lsl #5
1289 # CHECK: rsb r4, r4, r5, lsr #5
1290 # CHECK: rsbne r4, r4, r5, lsr #5
1291 # CHECK: rsb r4, r4, r5, asr #5
1292 # CHECK: rsb r4, r4, r5, ror #5
1293 # CHECK: rsbgt r6, r6, r7, lsl r9
1294 # CHECK: rsb r6, r6, r7, lsr r9
1295 # CHECK: rsb r6, r6, r7, asr r9
1296 # CHECK: rsb r6, r6, r7, ror r9
1297 # CHECK: rsb r4, r4, r5, rrx
1327 #------------------------------------------------------------------------------
1329 #------------------------------------------------------------------------------
1330 # CHECK: rsbs r7, r8, #-2147483638
1331 # CHECK: rsbs r7, r8, #40, #2
1336 #------------------------------------------------------------------------------
1338 #------------------------------------------------------------------------------
1339 # CHECK: rsc r4, r5, #61440
1340 # CHECK: rsc r7, r8, #-2147483638
1341 # CHECK: rsc r7, r8, #40, #2
1342 # CHECK: rsc r4, r5, r6
1343 # CHECK: rsc r4, r5, r6, lsl #5
1344 # CHECK: rsclo r4, r5, r6, lsr #5
1345 # CHECK: rsc r4, r5, r6, lsr #5
1346 # CHECK: rsc r4, r5, r6, asr #5
1347 # CHECK: rsc r4, r5, r6, ror #5
1348 # CHECK: rsc r6, r7, r8, lsl r9
1349 # CHECK: rsc r6, r7, r8, lsr r9
1350 # CHECK: rsc r6, r7, r8, asr r9
1351 # CHECK: rscle r6, r7, r8, ror r9
1353 # CHECK: rsc r5, r5, #61440
1354 # CHECK: rsc r4, r4, r5
1355 # CHECK: rsc r4, r4, r5, lsl #5
1356 # CHECK: rsc r4, r4, r5, lsr #5
1357 # CHECK: rscne r4, r4, r5, lsr #5
1358 # CHECK: rsc r4, r4, r5, asr #5
1359 # CHECK: rsc r4, r4, r5, ror #5
1360 # CHECK: rscgt r6, r6, r7, lsl r9
1361 # CHECK: rsc r6, r6, r7, lsr r9
1362 # CHECK: rsc r6, r6, r7, asr r9
1363 # CHECK: rsc r6, r6, r7, ror r9
1391 #------------------------------------------------------------------------------
1393 #------------------------------------------------------------------------------
1404 # CHECK: rrxs r0, r1
1405 # CHECK: rrxs sp, pc
1406 # CHECK: rrxs pc, lr
1407 # CHECK: rrxs lr, sp
1414 #------------------------------------------------------------------------------
1416 #------------------------------------------------------------------------------
1417 # CHECK: sadd16 r1, r2, r3
1418 # CHECK: sadd16gt r1, r2, r3
1419 # CHECK: sadd8 r1, r2, r3
1420 # CHECK: sadd8le r1, r2, r3
1428 #------------------------------------------------------------------------------
1430 #------------------------------------------------------------------------------
1431 # CHECK: sasx r9, r12, r0
1432 # CHECK: sasxeq r9, r12, r0
1438 #------------------------------------------------------------------------------
1440 #------------------------------------------------------------------------------
1441 # CHECK: sbc r4, r5, #61440
1442 # CHECK: sbc r7, r8, #-2147483638
1443 # CHECK: sbc r7, r8, #40, #2
1444 # CHECK: sbc r4, r5, r6
1445 # CHECK: sbc r4, r5, r6, lsl #5
1446 # CHECK: sbc r4, r5, r6, lsr #5
1447 # CHECK: sbc r4, r5, r6, lsr #5
1448 # CHECK: sbc r4, r5, r6, asr #5
1449 # CHECK: sbc r4, r5, r6, ror #5
1450 # CHECK: sbc r6, r7, r8, lsl r9
1451 # CHECK: sbc r6, r7, r8, lsr r9
1452 # CHECK: sbc r6, r7, r8, asr r9
1453 # CHECK: sbc r6, r7, r8, ror r9
1455 # CHECK: sbc r5, r5, #61440
1456 # CHECK: sbc r4, r4, r5
1457 # CHECK: sbc r4, r4, r5, lsl #5
1458 # CHECK: sbc r4, r4, r5, lsr #5
1459 # CHECK: sbc r4, r4, r5, lsr #5
1460 # CHECK: sbc r4, r4, r5, asr #5
1461 # CHECK: sbc r4, r4, r5, ror #5
1462 # CHECK: sbc r6, r6, r7, lsl r9
1463 # CHECK: sbc r6, r6, r7, lsr r9
1464 # CHECK: sbc r6, r6, r7, asr r9
1465 # CHECK: sbc r6, r6, r7, ror r9
1494 #------------------------------------------------------------------------------
1496 #------------------------------------------------------------------------------
1497 # CHECK: sbfx r4, r5, #16, #1
1498 # CHECK: sbfxgt r4, r5, #16, #16
1504 #------------------------------------------------------------------------------
1506 #------------------------------------------------------------------------------
1507 # CHECK: sel r9, r2, r1
1508 # CHECK: selne r9, r2, r1
1514 #------------------------------------------------------------------------------
1516 #------------------------------------------------------------------------------
1523 #------------------------------------------------------------------------------
1525 #------------------------------------------------------------------------------
1532 #------------------------------------------------------------------------------
1534 #------------------------------------------------------------------------------
1535 # CHECK: shadd16 r4, r8, r2
1536 # CHECK: shadd16gt r4, r8, r2
1537 # CHECK: shadd8 r4, r8, r2
1538 # CHECK: shadd8gt r4, r8, r2
1546 #------------------------------------------------------------------------------
1548 #------------------------------------------------------------------------------
1549 # CHECK: shasx r4, r8, r2
1550 # CHECK: shasxgt r4, r8, r2
1556 #------------------------------------------------------------------------------
1558 #------------------------------------------------------------------------------
1559 # CHECK: shsub16 r4, r8, r2
1560 # CHECK: shsub16gt r4, r8, r2
1561 # CHECK: shsub8 r4, r8, r2
1562 # CHECK: shsub8gt r4, r8, r2
1569 #------------------------------------------------------------------------------
1570 # SMLABB/SMLABT/SMLATB/SMLATT
1571 #------------------------------------------------------------------------------
1572 # CHECK: smlabb r3, r1, r9, r0
1573 # CHECK: smlabt r5, r6, r4, r1
1574 # CHECK: smlatb r4, r2, r3, r2
1575 # CHECK: smlatt r8, r3, r8, r4
1576 # CHECK: smlabbge r3, r1, r9, r0
1577 # CHECK: smlabtle r5, r6, r4, r1
1578 # CHECK: smlatbne r4, r2, r3, r2
1579 # CHECK: smlatteq r8, r3, r8, r4
1590 #------------------------------------------------------------------------------
1592 #------------------------------------------------------------------------------
1593 # CHECK: smlad r2, r3, r5, r8
1594 # CHECK: smladx r2, r3, r5, r8
1595 # CHECK: smladeq r2, r3, r5, r8
1596 # CHECK: smladxhi r2, r3, r5, r8
1604 #------------------------------------------------------------------------------
1606 #------------------------------------------------------------------------------
1607 # CHECK: smlal r2, r3, r5, r8
1608 # CHECK: smlals r2, r3, r5, r8
1609 # CHECK: smlaleq r2, r3, r5, r8
1610 # CHECK: smlalshi r2, r3, r5, r8
1618 #------------------------------------------------------------------------------
1619 # SMLALBB/SMLALBT/SMLALTB/SMLALTT
1620 #------------------------------------------------------------------------------
1621 # CHECK: smlalbb r3, r1, r9, r0
1622 # CHECK: smlalbt r5, r6, r4, r1
1623 # CHECK: smlaltb r4, r2, r3, r2
1624 # CHECK: smlaltt r8, r3, r8, r4
1625 # CHECK: smlalbbge r3, r1, r9, r0
1626 # CHECK: smlalbtle r5, r6, r4, r1
1627 # CHECK: smlaltbne r4, r2, r3, r2
1628 # CHECK: smlaltteq r8, r3, r8, r4
1640 #------------------------------------------------------------------------------
1642 #------------------------------------------------------------------------------
1643 # CHECK: smlald r2, r3, r5, r8
1644 # CHECK: smlaldx r2, r3, r5, r8
1645 # CHECK: smlaldeq r2, r3, r5, r8
1646 # CHECK: smlaldxhi r2, r3, r5, r8
1654 #------------------------------------------------------------------------------
1656 #------------------------------------------------------------------------------
1657 # CHECK: smlawb r2, r3, r10, r8
1658 # CHECK: smlawt r8, r3, r5, r9
1659 # CHECK: smlawbeq r2, r7, r5, r8
1660 # CHECK: smlawthi r1, r3, r0, r8
1668 #------------------------------------------------------------------------------
1670 #------------------------------------------------------------------------------
1671 # CHECK: smlsd r2, r3, r5, r8
1672 # CHECK: smlsdx r2, r3, r5, r8
1673 # CHECK: smlsdeq r2, r3, r5, r8
1674 # CHECK: smlsdxhi r2, r3, r5, r8
1682 #------------------------------------------------------------------------------
1684 #------------------------------------------------------------------------------
1685 # CHECK: smlsld r2, r9, r5, r1
1686 # CHECK: smlsldx r4, r11, r2, r8
1687 # CHECK: smlsldeq r8, r2, r5, r6
1688 # CHECK: smlsldxhi r1, r0, r3, r8
1696 #------------------------------------------------------------------------------
1698 #------------------------------------------------------------------------------
1699 # CHECK: smmla r1, r2, r3, r4
1700 # CHECK: smmlar r4, r3, r2, r1
1701 # CHECK: smmlalo r1, r2, r3, r4
1702 # CHECK: smmlarhs r4, r3, r2, r1
1710 #------------------------------------------------------------------------------
1712 #------------------------------------------------------------------------------
1713 # CHECK: smmls r1, r2, r3, r4
1714 # CHECK: smmlsr r4, r3, r2, r1
1715 # CHECK: smmlslo r1, r2, r3, r4
1716 # CHECK: smmlsrhs r4, r3, r2, r1
1724 #------------------------------------------------------------------------------
1726 #------------------------------------------------------------------------------
1727 # CHECK: smmul r2, r3, r4
1728 # CHECK: smmulr r3, r2, r1
1729 # CHECK: smmullo r2, r3, r4
1730 # CHECK: smmulrhs r3, r2, r1
1738 #------------------------------------------------------------------------------
1740 #------------------------------------------------------------------------------
1741 # CHECK: smuad r2, r3, r4
1742 # CHECK: smuadx r3, r2, r1
1743 # CHECK: smuadlt r2, r3, r4
1744 # CHECK: smuadxge r3, r2, r1
1752 #------------------------------------------------------------------------------
1753 # SMULBB/SMLALBT/SMLALTB/SMLALTT
1754 #------------------------------------------------------------------------------
1755 # CHECK: smulbb r3, r9, r0
1756 # CHECK: smulbt r5, r4, r1
1757 # CHECK: smultb r4, r2, r2
1758 # CHECK: smultt r8, r3, r4
1759 # CHECK: smulbbge r1, r9, r0
1760 # CHECK: smulbtle r5, r6, r4
1761 # CHECK: smultbne r2, r3, r2
1762 # CHECK: smultteq r8, r3, r4
1774 #------------------------------------------------------------------------------
1776 #------------------------------------------------------------------------------
1777 # CHECK: smull r3, r9, r0, r1
1778 # CHECK: smulls r3, r9, r0, r2
1779 # CHECK: smulleq r8, r3, r4, r5
1780 # CHECK: smullseq r8, r3, r4, r3
1788 #------------------------------------------------------------------------------
1790 #------------------------------------------------------------------------------
1791 # CHECK: smulwb r3, r9, r0
1792 # CHECK: smulwt r3, r9, r2
1798 #------------------------------------------------------------------------------
1800 #------------------------------------------------------------------------------
1801 # CHECK: smusd r3, r0, r1
1802 # CHECK: smusdx r3, r9, r2
1803 # CHECK: smusdeq r8, r3, r2
1804 # CHECK: smusdxne r7, r4, r3
1812 #------------------------------------------------------------------------------
1814 #------------------------------------------------------------------------------
1815 # CHECK: srsda sp, #5
1816 # CHECK: srsdb sp, #1
1817 # CHECK: srsia sp, #0
1818 # CHECK: srsib sp, #15
1820 # CHECK: srsda sp!, #31
1821 # CHECK: srsdb sp!, #19
1822 # CHECK: srsia sp!, #2
1823 # CHECK: srsib sp!, #14
1825 # CHECK: srsda sp, #11
1826 # CHECK: srsdb sp, #10
1827 # CHECK: srsia sp, #9
1828 # CHECK: srsib sp, #5
1830 # CHECK: srsda sp!, #5
1831 # CHECK: srsdb sp!, #5
1832 # CHECK: srsia sp!, #5
1833 # CHECK: srsib sp!, #5
1835 # CHECK: srsia sp, #5
1836 # CHECK: srsia sp!, #5
1862 #------------------------------------------------------------------------------
1864 #------------------------------------------------------------------------------
1865 # CHECK: ssat r8, #1, r10
1866 # CHECK: ssat r8, #1, r10, lsl #31
1867 # CHECK: ssat r8, #1, r10, asr #32
1868 # CHECK: ssat r8, #1, r10, asr #1
1876 #------------------------------------------------------------------------------
1878 #------------------------------------------------------------------------------
1879 # CHECK: ssat16 r2, #1, r7
1880 # CHECK: ssat16 r3, #16, r5
1886 #------------------------------------------------------------------------------
1888 #------------------------------------------------------------------------------
1889 # CHECK: ssax r2, r3, r4
1890 # CHECK: ssaxlt r2, r3, r4
1895 #------------------------------------------------------------------------------
1897 #------------------------------------------------------------------------------
1898 # CHECK: ssub16 r1, r0, r6
1899 # CHECK: ssub16ne r5, r3, r2
1900 # CHECK: ssub8 r9, r2, r4
1901 # CHECK: ssub8eq r5, r1, r2
1909 #------------------------------------------------------------------------------
1911 #------------------------------------------------------------------------------
1912 # CHECK: stm r2, {r1, r3, r4, r5, r6, sp}
1913 # CHECK: stm r3, {r1, r3, r4, r5, r6, lr}
1914 # CHECK: stmib r4, {r1, r3, r4, r5, r6, sp}
1915 # CHECK: stmda r5, {r1, r3, r4, r5, r6, sp}
1916 # CHECK: stmdb r6, {r1, r3, r4, r5, r6, r8}
1917 # CHECK: stmdb sp, {r1, r3, r4, r5, r6, sp}
1920 # CHECK: stm r8!, {r1, r3, r4, r5, r6, sp}
1921 # CHECK: stmib r9!, {r1, r3, r4, r5, r6, sp}
1922 # CHECK: stmda sp!, {r1, r3, r4, r5, r6}
1923 # CHECK: stmdb r0!, {r1, r5, r7, sp}
1938 #------------------------------------------------------------------------------
1939 # STREX/STREXB/STREXH/STREXD
1940 #------------------------------------------------------------------------------
1941 # CHECK: strexb r1, r3, [r4
1942 # CHECK: strexh r4, r2, [r5
1943 # CHECK: strex r2, r1, [r7
1944 # CHECK: strexd r6, r2, r3, [r8
1945 # CHECK: strexd sp, r0, r1, [r0]
1953 #------------------------------------------------------------------------------
1955 #------------------------------------------------------------------------------
1956 # CHECK: sub r4, r5, #61440
1957 # CHECK: sub r7, r8, #-2147483638
1958 # CHECK: sub r7, r8, #40, #2
1959 # CHECK: sub r4, r5, r6
1960 # CHECK: sub r4, r5, r6, lsl #5
1961 # CHECK: sub r4, r5, r6, lsr #5
1962 # CHECK: sub r4, r5, r6, lsr #5
1963 # CHECK: sub r4, r5, r6, asr #5
1964 # CHECK: sub r4, r5, r6, ror #5
1965 # CHECK: sub r6, r7, r8, lsl r9
1966 # CHECK: sub r6, r7, r8, lsr r9
1967 # CHECK: sub r6, r7, r8, asr r9
1968 # CHECK: sub r6, r7, r8, ror r9
1970 # CHECK: sub r5, r5, #61440
1971 # CHECK: sub r4, r4, r5
1972 # CHECK: sub r4, r4, r5, lsl #5
1973 # CHECK: sub r4, r4, r5, lsr #5
1974 # CHECK: sub r4, r4, r5, lsr #5
1975 # CHECK: sub r4, r4, r5, asr #5
1976 # CHECK: sub r4, r4, r5, ror #5
1977 # CHECK: sub r6, r6, r7, lsl r9
1978 # CHECK: sub r6, r6, r7, lsr r9
1979 # CHECK: sub r6, r6, r7, asr r9
1980 # CHECK: sub r6, r6, r7, ror r9
2009 #------------------------------------------------------------------------------
2011 #------------------------------------------------------------------------------
2012 # CHECK: subs r7, r8, #-2147483638
2013 # CHECK: subs r7, r8, #40, #2
2018 #------------------------------------------------------------------------------
2020 #------------------------------------------------------------------------------
2023 # CHECK: svc #16777215
2030 #------------------------------------------------------------------------------
2032 #------------------------------------------------------------------------------
2033 # CHECK: swp r1, r2, [r3
2034 # CHECK: swp r4, r4, [r6
2035 # CHECK: swpb r5, r1, [r9
2042 #------------------------------------------------------------------------------
2044 #------------------------------------------------------------------------------
2045 # CHECK: sxtab r2, r3, r4
2046 # CHECK: sxtab r4, r5, r6
2047 # CHECK: sxtablt r6, r2, r9, ror #8
2048 # CHECK: sxtab r5, r1, r4, ror #16
2049 # CHECK: sxtab r7, r8, r3, ror #24
2058 #------------------------------------------------------------------------------
2060 #------------------------------------------------------------------------------
2061 # CHECK: sxtab16ge r0, r1, r4
2062 # CHECK: sxtab16 r6, r2, r7
2063 # CHECK: sxtab16 r3, r5, r8, ror #8
2064 # CHECK: sxtab16 r3, r2, r1, ror #16
2065 # CHECK: sxtab16eq r1, r2, r3, ror #24
2073 #------------------------------------------------------------------------------
2075 #------------------------------------------------------------------------------
2076 # CHECK: sxtah r1, r3, r9
2077 # CHECK: sxtahhi r6, r1, r6
2078 # CHECK: sxtah r3, r8, r3, ror #8
2079 # CHECK: sxtahlo r2, r2, r4, ror #16
2080 # CHECK: sxtah r9, r3, r3, ror #24
2088 #------------------------------------------------------------------------------
2090 #------------------------------------------------------------------------------
2091 # CHECK: sxtbge r2, r4
2092 # CHECK: sxtb r5, r6
2093 # CHECK: sxtb r6, r9, ror #8
2094 # CHECK: sxtblo r5, r1, ror #16
2095 # CHECK: sxtb r8, r3, ror #24
2104 #------------------------------------------------------------------------------
2106 #------------------------------------------------------------------------------
2107 # CHECK: sxtb16 r1, r4
2108 # CHECK: sxtb16 r6, r7
2109 # CHECK: sxtb16hs r3, r5, ror #8
2110 # CHECK: sxtb16 r3, r1, ror #16
2111 # CHECK: sxtb16ge r2, r3, ror #24
2120 #------------------------------------------------------------------------------
2122 #------------------------------------------------------------------------------
2123 # CHECK: sxthne r3, r9
2124 # CHECK: sxth r1, r6
2125 # CHECK: sxth r3, r8, ror #8
2126 # CHECK: sxthle r2, r2, ror #16
2127 # CHECK: sxth r9, r3, ror #24
2136 #------------------------------------------------------------------------------
2138 #------------------------------------------------------------------------------
2141 #------------------------------------------------------------------------------
2143 #------------------------------------------------------------------------------
2144 # CHECK: teq r5, #61440
2145 # CHECK: teq r7, #-2147483638
2146 # CHECK: teq r7, #40, #2
2148 # CHECK: teq r4, r5, lsl #5
2149 # CHECK: teq r4, r5, lsr #5
2150 # CHECK: teq r4, r5, lsr #5
2151 # CHECK: teq r4, r5, asr #5
2152 # CHECK: teq r4, r5, ror #5
2153 # CHECK: teq r6, r7, lsl r9
2154 # CHECK: teq r6, r7, lsr r9
2155 # CHECK: teq r6, r7, asr r9
2156 # CHECK: teq r6, r7, ror r9
2173 #------------------------------------------------------------------------------
2175 #------------------------------------------------------------------------------
2176 # CHECK: tst r5, #61440
2177 # CHECK: tst r7, #-2147483638
2178 # CHECK: tst r7, #40, #2
2180 # CHECK: tst r4, r5, lsl #5
2181 # CHECK: tst r4, r5, lsr #5
2182 # CHECK: tst r4, r5, lsr #5
2183 # CHECK: tst r4, r5, asr #5
2184 # CHECK: tst r4, r5, ror #5
2185 # CHECK: tst r6, r7, lsl r9
2186 # CHECK: tst r6, r7, lsr r9
2187 # CHECK: tst r6, r7, asr r9
2188 # CHECK: tst r6, r7, ror r9
2205 #------------------------------------------------------------------------------
2207 #------------------------------------------------------------------------------
2208 # CHECK: uadd16 r1, r2, r3
2209 # CHECK: uadd16gt r1, r2, r3
2210 # CHECK: uadd8 r1, r2, r3
2211 # CHECK: uadd8le r1, r2, r3
2219 #------------------------------------------------------------------------------
2221 #------------------------------------------------------------------------------
2222 # CHECK: uasx r9, r12, r0
2223 # CHECK: uasxeq r9, r12, r0
2229 #------------------------------------------------------------------------------
2231 #------------------------------------------------------------------------------
2232 # CHECK: ubfx r4, r5, #16, #1
2233 # CHECK: ubfxgt r4, r5, #16, #16
2239 #------------------------------------------------------------------------------
2241 #------------------------------------------------------------------------------
2242 # CHECK: uhadd16 r4, r8, r2
2243 # CHECK: uhadd16gt r4, r8, r2
2244 # CHECK: uhadd8 r4, r8, r2
2245 # CHECK: uhadd8gt r4, r8, r2
2253 #------------------------------------------------------------------------------
2255 #------------------------------------------------------------------------------
2256 # CHECK: uhasx r4, r8, r2
2257 # CHECK: uhasxgt r4, r8, r2
2263 #------------------------------------------------------------------------------
2265 #------------------------------------------------------------------------------
2266 # CHECK: uhsub16 r4, r8, r2
2267 # CHECK: uhsub16gt r4, r8, r2
2268 # CHECK: uhsub8 r4, r8, r2
2269 # CHECK: uhsub8gt r4, r8, r2
2277 #------------------------------------------------------------------------------
2279 #------------------------------------------------------------------------------
2280 # CHECK: umaal r3, r4, r5, r6
2281 # CHECK: umaallt r3, r4, r5, r6
2287 #------------------------------------------------------------------------------
2289 #------------------------------------------------------------------------------
2290 # CHECK: umlal r2, r4, r6, r8
2291 # CHECK: umlalgt r6, r1, r2, r6
2292 # CHECK: umlals r2, r9, r2, r3
2293 # CHECK: umlalseq r3, r5, r1, r2
2301 #------------------------------------------------------------------------------
2303 #------------------------------------------------------------------------------
2304 # CHECK: umull r2, r4, r6, r8
2305 # CHECK: umullgt r6, r1, r2, r6
2306 # CHECK: umulls r2, r9, r2, r3
2307 # CHECK: umullseq r3, r5, r1, r2
2315 #------------------------------------------------------------------------------
2317 #------------------------------------------------------------------------------
2318 # CHECK: uqadd16 r1, r2, r3
2319 # CHECK: uqadd16gt r4, r7, r9
2320 # CHECK: uqadd8 r3, r4, r8
2321 # CHECK: uqadd8le r8, r1, r2
2330 #------------------------------------------------------------------------------
2332 #------------------------------------------------------------------------------
2333 # CHECK: uqasx r2, r4, r1
2334 # CHECK: uqasxhi r5, r2, r9
2340 #------------------------------------------------------------------------------
2342 #------------------------------------------------------------------------------
2343 # CHECK: uqsax r1, r3, r7
2344 # CHECK: uqsax r3, r6, r2
2350 #------------------------------------------------------------------------------
2352 #------------------------------------------------------------------------------
2353 # CHECK: uqsub16 r1, r5, r3
2354 # CHECK: uqsub16gt r3, r2, r5
2355 # CHECK: uqsub8 r2, r1, r4
2356 # CHECK: uqsub8le r4, r6, r9
2364 #------------------------------------------------------------------------------
2366 #------------------------------------------------------------------------------
2367 # CHECK: usad8 r2, r1, r4
2368 # CHECK: usad8le r4, r6, r9
2369 # CHECK: usada8 r1, r5, r3, r7
2370 # CHECK: usada8gt r3, r2, r5, r1
2378 #------------------------------------------------------------------------------
2380 #------------------------------------------------------------------------------
2382 # CHECK: usat r8, #1, r10
2383 # CHECK: usat r8, #4, r10
2384 # CHECK: usat r8, #5, r10, lsl #31
2385 # CHECK: usat r8, #31, r10, asr #32
2386 # CHECK: usat r8, #16, r10, asr #1
2394 #------------------------------------------------------------------------------
2396 #------------------------------------------------------------------------------
2397 # CHECK: usat16 r2, #2, r7
2398 # CHECK: usat16 r3, #15, r5
2404 #------------------------------------------------------------------------------
2406 #------------------------------------------------------------------------------
2407 # CHECK: usax r2, r3, r4
2408 # CHECK: usaxne r2, r3, r4
2413 #------------------------------------------------------------------------------
2415 #------------------------------------------------------------------------------
2416 # CHECK: usub16 r4, r2, r7
2417 # CHECK: usub16hi r1, r1, r3
2418 # CHECK: usub8 r1, r8, r5
2419 # CHECK: usub8le r9, r2, r3
2427 #------------------------------------------------------------------------------
2429 #------------------------------------------------------------------------------
2430 # CHECK: uxtab r2, r3, r4
2431 # CHECK: uxtab r4, r5, r6
2432 # CHECK: uxtablt r6, r2, r9, ror #8
2433 # CHECK: uxtab r5, r1, r4, ror #16
2434 # CHECK: uxtab r7, r8, r3, ror #24
2443 #------------------------------------------------------------------------------
2445 #------------------------------------------------------------------------------
2446 # CHECK: uxtab16ge r0, r1, r4
2447 # CHECK: uxtab16 r6, r2, r7
2448 # CHECK: uxtab16 r3, r5, r8, ror #8
2449 # CHECK: uxtab16 r3, r2, r1, ror #16
2450 # CHECK: uxtab16eq r1, r2, r3, ror #24
2458 #------------------------------------------------------------------------------
2460 #------------------------------------------------------------------------------
2461 # CHECK: uxtah r1, r3, r9
2462 # CHECK: uxtahhi r6, r1, r6
2463 # CHECK: uxtah r3, r8, r3, ror #8
2464 # CHECK: uxtahlo r2, r2, r4, ror #16
2465 # CHECK: uxtah r9, r3, r3, ror #24
2473 #------------------------------------------------------------------------------
2475 #------------------------------------------------------------------------------
2476 # CHECK: uxtbge r2, r4
2477 # CHECK: uxtb r5, r6
2478 # CHECK: uxtb r6, r9, ror #8
2479 # CHECK: uxtblo r5, r1, ror #16
2480 # CHECK: uxtb r8, r3, ror #24
2489 #------------------------------------------------------------------------------
2491 #------------------------------------------------------------------------------
2492 # CHECK: uxtb16 r1, r4
2493 # CHECK: uxtb16 r6, r7
2494 # CHECK: uxtb16hs r3, r5, ror #8
2495 # CHECK: uxtb16 r3, r1, ror #16
2496 # CHECK: uxtb16ge r2, r3, ror #24
2505 #------------------------------------------------------------------------------
2507 #------------------------------------------------------------------------------
2508 # CHECK: uxthne r3, r9
2509 # CHECK: uxth r1, r6
2510 # CHECK: uxth r3, r8, ror #8
2511 # CHECK: uxthle r2, r2, ror #16
2512 # CHECK: uxth r9, r3, ror #24
2520 #------------------------------------------------------------------------------
2522 #------------------------------------------------------------------------------