# RUN: llvm-mc --disassemble %s -triple=thumbv7-apple-darwin9 | FileCheck %s # CHECK: push {r0, r1, r2, r3} # CHECK-NEXT: push {r4, r5, r7, lr} # CHECK-NEXT: add r7, sp, #8 # CHECK-NEXT: sub sp, #4 # CHECK-NEXT: add r3, sp, #20 # CHECK-NEXT: ldr r5, [r3], #4 # CHECK-NEXT: str r3, [sp] # CHECK-NEXT: ldr r3, #52 # CHECK-NEXT: add r3, pc # CHECK-NEXT: ldr r0, [r3] # CHECK-NEXT: ldr r4, [r0] # CHECK-NEXT: ldr r0, #48 # CHECK-NEXT: add r0, pc # CHECK-NEXT: ldr r0, [r0] # CHECK-NEXT: ldr r0, [r0] # CHECK-NEXT: blx #191548 # CHECK-NEXT: cbnz r0, #6 # CHECK-NEXT: ldr r1, #40 # CHECK-NEXT: add r1, pc # CHECK-NEXT: ldr r1, [r1] # CHECK-NEXT: b #0 # CHECK-NEXT: mov r1, r0 # CHECK-NEXT: mov r0, r4 # CHECK-NEXT: mov r2, r5 # CHECK-NEXT: ldr r3, [sp] # CHECK-NEXT: bl #-8390 # Data bytes (corresponds to an invalid instruction) # But not: sub.w sp, r7, #8 # CHECK-NEXT: pop.w {r4, r5, r7, lr} # CHECK-NEXT: add sp, #16 # CHECK-NEXT: bx lr # CHECK-NEXT: nop # CHECK-NEXT: movs r3, #142 # CHECK-NEXT: movs r5, r0 # CHECK-NEXT: adds r1, #122 # CHECK-NEXT: movs r5, r0 # CHECK-NEXT: adds r1, #104 # CHECK-NEXT: movs r5, r0 0x0f 0xb4 0xb0 0xb5 0x02 0xaf 0x81 0xb0 0x05 0xab 0x53 0xf8 0x04 0x5b 0x00 0x93 0x0d 0x4b 0x7b 0x44 0x18 0x68 0x04 0x68 0x0c 0x48 0x78 0x44 0x00 0x68 0x00 0x68 0x2e 0xf0 0x1e 0xee 0x18 0xb9 0x0a 0x49 0x79 0x44 0x09 0x68 0x00 0xe0 0x01 0x46 0x20 0x46 0x2a 0x46 0x00 0x9b 0xfd 0xf7 0x9d 0xff # 0xa7 0xf1 0x08 0x0d 0xbd 0xe8 0xb0 0x40 0x04 0xb0 0x70 0x47 0x00 0xbf 0x8e 0x23 0x05 0x00 0x7a 0x31 0x05 0x00 0x68 0x31 0x05 0x00