# 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
