1 # RUN: llvm-mc --disassemble %s -triple=thumb-apple-darwin9 | FileCheck %s
3 # CHECK: push {r0, r1, r2, r3}
4 # CHECK-NEXT: push {r4, r5, r7, lr}
5 # CHECK-NEXT: add r7, sp, #8
6 # CHECK-NEXT: sub sp, #4
7 # CHECK-NEXT: add r3, sp, #20
8 # CHECK-NEXT: ldr r5, [r3], #4
9 # CHECK-NEXT: str r3, [sp]
10 # CHECK-NEXT: ldr r3, #52
11 # CHECK-NEXT: add r3, pc
12 # CHECK-NEXT: ldr r0, [r3]
13 # CHECK-NEXT: ldr r4, [r0]
14 # CHECK-NEXT: ldr r0, #48
15 # CHECK-NEXT: add r0, pc
16 # CHECK-NEXT: ldr r0, [r0]
17 # CHECK-NEXT: ldr r0, [r0]
18 # CHECK-NEXT: blx #191548
19 # CHECK-NEXT: cbnz r0, #6
20 # CHECK-NEXT: ldr r1, #40
21 # CHECK-NEXT: add r1, pc
22 # CHECK-NEXT: ldr r1, [r1]
24 # CHECK-NEXT: mov r1, r0
25 # CHECK-NEXT: mov r0, r4
26 # CHECK-NEXT: mov r2, r5
27 # CHECK-NEXT: ldr r3, [sp]
28 # CHECK-NEXT: bl #-8390
29 # Data bytes (corresponds to an invalid instruction)
30 # But not: sub.w sp, r7, #8
31 # CHECK-NEXT: pop.w {r4, r5, r7, lr}
32 # CHECK-NEXT: add sp, #16
35 # CHECK-NEXT: movs r3, #142
36 # CHECK-NEXT: movs r5, r0
37 # CHECK-NEXT: adds r1, #122
38 # CHECK-NEXT: movs r5, r0
39 # CHECK-NEXT: adds r1, #104
40 # CHECK-NEXT: movs r5, r0