1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc --disassemble %s -triple=thumbv7-apple-darwin9 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker# CHECK: push {r0, r1, r2, r3} 4*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: push {r4, r5, r7, lr} 5*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: add r7, sp, #8 6*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: sub sp, #4 7*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: add r3, sp, #20 8*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r5, [r3], #4 9*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: str r3, [sp] 10*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r3, [pc, #52] 11*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: add r3, pc 12*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r0, [r3] 13*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r4, [r0] 14*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r0, [pc, #48] 15*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: add r0, pc 16*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r0, [r0] 17*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r0, [r0] 18*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: blx #191548 19*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: cbnz r0, #6 20*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r1, [pc, #40] 21*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: add r1, pc 22*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r1, [r1] 23*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: b #0 24*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: mov r1, r0 25*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: mov r0, r4 26*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: mov r2, r5 27*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ldr r3, [sp] 28*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: bl #-8390 29*9880d681SAndroid Build Coastguard Worker# Data bytes (corresponds to an invalid instruction) 30*9880d681SAndroid Build Coastguard Worker# But not: sub.w sp, r7, #8 31*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: pop.w {r4, r5, r7, lr} 32*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: add sp, #16 33*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: bx lr 34*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: nop 35*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: movs r3, #142 36*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: movs r5, r0 37*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: adds r1, #122 38*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: movs r5, r0 39*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: adds r1, #104 40*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: movs r5, r0 41*9880d681SAndroid Build Coastguard Worker0x0f 0xb4 42*9880d681SAndroid Build Coastguard Worker0xb0 0xb5 43*9880d681SAndroid Build Coastguard Worker0x02 0xaf 44*9880d681SAndroid Build Coastguard Worker0x81 0xb0 45*9880d681SAndroid Build Coastguard Worker0x05 0xab 46*9880d681SAndroid Build Coastguard Worker0x53 0xf8 0x04 0x5b 47*9880d681SAndroid Build Coastguard Worker0x00 0x93 48*9880d681SAndroid Build Coastguard Worker0x0d 0x4b 49*9880d681SAndroid Build Coastguard Worker0x7b 0x44 50*9880d681SAndroid Build Coastguard Worker0x18 0x68 51*9880d681SAndroid Build Coastguard Worker0x04 0x68 52*9880d681SAndroid Build Coastguard Worker0x0c 0x48 53*9880d681SAndroid Build Coastguard Worker0x78 0x44 54*9880d681SAndroid Build Coastguard Worker0x00 0x68 55*9880d681SAndroid Build Coastguard Worker0x00 0x68 56*9880d681SAndroid Build Coastguard Worker0x2e 0xf0 0x1e 0xee 57*9880d681SAndroid Build Coastguard Worker0x18 0xb9 58*9880d681SAndroid Build Coastguard Worker0x0a 0x49 59*9880d681SAndroid Build Coastguard Worker0x79 0x44 60*9880d681SAndroid Build Coastguard Worker0x09 0x68 61*9880d681SAndroid Build Coastguard Worker0x00 0xe0 62*9880d681SAndroid Build Coastguard Worker0x01 0x46 63*9880d681SAndroid Build Coastguard Worker0x20 0x46 64*9880d681SAndroid Build Coastguard Worker0x2a 0x46 65*9880d681SAndroid Build Coastguard Worker0x00 0x9b 66*9880d681SAndroid Build Coastguard Worker0xfd 0xf7 0x9d 0xff 67*9880d681SAndroid Build Coastguard Worker# 0xa7 0xf1 0x08 0x0d 68*9880d681SAndroid Build Coastguard Worker0xbd 0xe8 0xb0 0x40 69*9880d681SAndroid Build Coastguard Worker0x04 0xb0 70*9880d681SAndroid Build Coastguard Worker0x70 0x47 71*9880d681SAndroid Build Coastguard Worker0x00 0xbf 72*9880d681SAndroid Build Coastguard Worker0x8e 0x23 73*9880d681SAndroid Build Coastguard Worker0x05 0x00 74*9880d681SAndroid Build Coastguard Worker0x7a 0x31 75*9880d681SAndroid Build Coastguard Worker0x05 0x00 76*9880d681SAndroid Build Coastguard Worker0x68 0x31 77*9880d681SAndroid Build Coastguard Worker0x05 0x00 78