1 # RUN: llvm-mc --disassemble %s -triple=armv7-apple-darwin9 -mcpu=cortex-a9 | FileCheck %s
3 # CHECK: addpl r4, pc, #76, #10
15 # CHECK: bfc r8, #0, #16
18 # CHECK: bfi r8, r0, #16, #1
24 # CHECK: mov pc, #3221225535
27 # CHECK: movw r7, #4096
48 # FIXME: LDC encoding information is incorrect. Re-enable this along with more
49 # robust testing for other values when we get it fleshed out and working
51 # CHECKx: ldclvc p5, cr15, [r8], #-0
54 # CHECK: ldc p13, c9, [r2, #0]!
57 # CHECK: ldcl p1, c9, [r3, #0]!
60 # CHECK: ldr r0, [r2], #15
63 # CHECK: ldr r5, [r7, -r10, lsl #2]
66 # CHECK: ldr r4, [r5, #0]!
69 # CHECK: ldrb lr, [r10, #0]!
72 # CHECK: ldrd r4, r5, [r0, #0]!
75 # CHECK: ldrh r0, [r2], #0
78 # CHECK: ldrh r0, [r2]
81 # CHECK: ldrh lr, [sp, #0]!
84 # CHECK: ldrht r0, [r2], #15
87 # CHECK: ldrsb r1, [lr, #0]!
90 # CHECK: ldrsbtvs lr, [r2], -r9
93 # CHECK: ldrsh r9, [r1, #0]
96 # CHECK: lsls r0, r2, #31
99 # CHECK: mcr2 p0, #0, r2, c1, c0, #7
102 # CHECK: movt r8, #65535
105 # CHECK: mvnspl r7, #1073741885
108 # CHECK-NOT: orr r7, r8, r7, rrx #0
109 # CHECK: orr r7, r8, r7, rrx
112 # CHECK: pkhbt r8, r9, r10, lsl #4
115 # CHECK-NOT: pkhbtls r10, r11, r11, lsl #0
116 # CHECK: pkhbtls r10, r11, r11
119 # CHECK: pkhtbmi lr, r1, r6, asr #21
122 # CHECK: pop {r0, r2, r4, r6, r8, r10}
125 # CHECK: push {r0, r2, r4, r6, r8, r10}
128 # CHECK: qsax r8, r9, r10
134 # CHECK: srsdb sp!, #19
137 # CHECK: srsia sp, #9
140 # CHECK-NOT: rsbeq r0, r2, r0, lsl #0
141 # CHECK: rsbeq r0, r2, r0
144 # CHECK-NOT: rscseq r0, r0, r1, lsl #0
145 # CHECK: rscseq r0, r0, r1
148 # CHECK: sbcs r0, pc, #1
151 # CHECK: sbfx r0, r1, #0, #8
154 # CHECK: ssat r8, #1, r10, lsl #8
157 # CHECK-NOT: ssatmi r0, #17, r12, lsl #0
158 # CHECK: ssatmi r0, #17, r12
161 # CHECK: stmdb r10!, {r4, r5, r6, r7, lr}
167 # CHECK: ubfx r0, r0, #16, #1
170 # CHECK: usat r8, #0, r10, asr #32
185 # CHECK: cpsie if, #10
188 # CHECK: msr CPSR_fc, r0
191 # CHECK: msrmi CPSR_c, #4043309056
194 # CHECK: rsbs r6, r7, r8
206 # CHECK: uqadd16mi r6, r11, r8
209 # CHECK: str r0, [sp, #4]
212 # CHECK: str r1, [sp]
215 # CHECK: ldr r3, [pc, #144]
218 # CHECK: ldr r3, [r0, #-4]
221 # CHECK: ldr r5, [sp, r0, lsl #1]!
224 # CHECK: ldr r5, [r7], -r0, lsr #2
227 # CHECK: strdeq r2, r3, [r0], -r8
230 # CHECK: ldrdeq r2, r3, [r0], -r12
233 # CHECK: ldrbt r3, [r4], -r5, lsl #12
236 # CHECK: vcmpe.f64 d8, #0
239 # CHECK: vldmdb r2!, {s7, s8, s9, s10, s11}
242 # CHECK: vldr s23, [r2, #660]
245 # CHECK: strtvc r5, [r3], r0, lsr #20
248 # CHECK: stmiblo sp, {r0, r4, r8, r11, r12, pc}
251 # CHECK: ldmdb sp, {r0, r4, r8, r11, r12, pc}
254 # CHECK: swpge r3, r2, [r6]
257 # CHECK: umull r1, r2, r3, r4
260 # CHECK: pldw [pc, #-0]
263 # CHECK: pli [pc, #-0]
266 # CHECK: pli [r3, r1, lsl #2]
269 # CHECK: stc p2, c4, [r9], {157}
272 # CHECK: stc p15, c0, [r3, #0]!
275 # CHECK: stc2 p2, c4, [r9], {157}
278 # CHECK: stcl p13, c12, [r9, #0]!
281 # CHECK: str pc, [r11, #0]!
284 # CHECK: strb r9, [r10, #0]!
287 # CHECK: strd r12, sp, [r6, #0]!
290 # CHECK: strh r7, [r9, #0]!
299 # CHECK-NOT: adcs r10, r8, r0, asr #6
300 # CHECK: adcshi r10, r8, r0, asr #6
303 # CHECK: adcshi r10, r8, r0, asr r3
306 # CHECK: streq r1, [sp], #-1567
309 # CHECK: mrchs p2, #3, r11, c13, c6, #6
312 # CHECK: smlsldx r4, r12, r11, r4
315 # CHECK: lsl r3, r2, r1
318 # CHECK: sxtab r9, r8, r5
321 # CHECK: sxtb r9, r5, ror #8
324 # CHECK: bfc r5, #0, #16
327 # CHECK: bfi r5, r6, #0, #16
330 # CHECK: sbfx r5, r6, #8, #8
333 # CHECK: rsb pc, r5, r0
336 # CHECK: uqadd8 r5, r6, r7
339 # CHECK: uqsax r5, r6, r7
342 # CHECK: smmlareq r0, r0, r0, r0
348 # CHECK: andeq r0, r0, r0, lsr #32
351 # CHECK: strb r3, [r2], #1
354 # CHECK: strheq r0, [r0, -r0]
360 # CHECK: stc2l p0, c0, [r2], #-96
363 # CHECK: ldmgt sp!, {r9}