1 # RUN: llvm-mc -triple=thumbv7-apple-darwin -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 #------------------------------------------------------------------------------
94 #------------------------------------------------------------------------------
96 #------------------------------------------------------------------------------
97 # CHECK: and r2, r5, #1044480
98 # CHECK: ands r3, r12, #15
99 # CHECK: and r1, r1, #255
106 #------------------------------------------------------------------------------
108 #------------------------------------------------------------------------------
109 # CHECK: and.w r4, r9, r8
110 # CHECK: and.w r1, r4, r8, asr #3
111 # CHECK: ands.w r2, r1, r7, lsl #1
112 # CHECK: ands.w r4, r5, r2, lsr #20
113 # CHECK: and.w r9, r12, r1, ror #17
121 #------------------------------------------------------------------------------
123 #------------------------------------------------------------------------------
124 # CHECK: asr.w r2, r3, #12
125 # CHECK: asrs.w r8, r3, #32
126 # CHECK: asrs.w r2, r3, #1
127 # CHECK: asr.w r2, r3, #4
128 # CHECK: asrs.w r2, r12, #15
130 # CHECK: asr.w r3, r3, #19
131 # CHECK: asrs.w r8, r8, #2
132 # CHECK: asrs.w r7, r7, #5
133 # CHECK: asr.w r12, r12, #21
147 #------------------------------------------------------------------------------
149 #------------------------------------------------------------------------------
150 # CHECK: asr.w r3, r4, r2
151 # CHECK: asr.w r1, r1, r2
152 # CHECK: asrs.w r3, r4, r8
158 #------------------------------------------------------------------------------
160 #------------------------------------------------------------------------------
161 # CHECK: bmi.w #-183396
166 #------------------------------------------------------------------------------
168 #------------------------------------------------------------------------------
169 # CHECK: bfc r5, #3, #17
171 # CHECK: bfclo r5, #3, #17
178 #------------------------------------------------------------------------------
180 #------------------------------------------------------------------------------
181 # CHECK: bfi r5, r2, #3, #17
183 # CHECK: bfine r5, r2, #3, #17
190 #------------------------------------------------------------------------------
192 #------------------------------------------------------------------------------
193 # CHECK: bic r10, r1, #15
194 # CHECK: bic.w r12, r3, r6
195 # CHECK: bic.w r11, r2, r6, lsl #12
196 # CHECK: bic.w r8, r4, r1, lsr #11
197 # CHECK: bic.w r7, r5, r7, lsr #15
198 # CHECK: bic.w r6, r7, r9, asr #32
199 # CHECK: bic.w r5, r6, r8, ror #1
201 # CHECK: bic r1, r1, #15
202 # CHECK: bic.w r1, r1, r1
203 # CHECK: bic.w r4, r4, r2, lsl #31
204 # CHECK: bic.w r6, r6, r3, lsr #12
205 # CHECK: bic.w r7, r7, r4, lsr #7
206 # CHECK: bic.w r8, r8, r5, asr #15
207 # CHECK: bic.w r12, r12, r6, ror #29
226 #------------------------------------------------------------------------------
228 #------------------------------------------------------------------------------
238 #------------------------------------------------------------------------------
240 #------------------------------------------------------------------------------
242 # CHECK: cbnz r7, #12
248 #------------------------------------------------------------------------------
250 #------------------------------------------------------------------------------
251 # Test encodings of a few full IT blocks, not just the IT instruction
254 # CHECK: addeq r0, r1, r2
256 # CHECK: subne r5, r6, r7
257 # CHECK: addeq r1, r2, #4
266 # CHECK: addls r0, r1, r2
268 # CHECK: subhi r5, r6, r7
269 # CHECK: addhi r1, r2, #4