1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux-gnu < %s | FileCheck %s --check-prefix=APCS 2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux-gnu -target-abi=apcs < %s | \ 3*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s --check-prefix=APCS 4*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux-gnueabi -target-abi=apcs < %s | \ 5*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s --check-prefix=APCS 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux-gnueabi < %s | FileCheck %s --check-prefix=AAPCS 8*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux-gnueabi -target-abi=aapcs < %s | \ 9*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s --check-prefix=AAPCS 10*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux-gnu -target-abi=aapcs < %s | \ 11*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck %s --check-prefix=AAPCS 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker; The stack is 8 byte aligned on AAPCS and 4 on APCS, so we should get a BIC 14*9880d681SAndroid Build Coastguard Worker; only on APCS. 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerdefine void @g() { 17*9880d681SAndroid Build Coastguard Worker; APCS: sub sp, sp, #8 18*9880d681SAndroid Build Coastguard Worker; APCS: bic sp, sp, #7 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker; AAPCS: sub sp, sp, #8 21*9880d681SAndroid Build Coastguard Worker; AAPCS-NOT: bic 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker %c = alloca i8, align 8 24*9880d681SAndroid Build Coastguard Worker call void @f(i8* %c) 25*9880d681SAndroid Build Coastguard Worker ret void 26*9880d681SAndroid Build Coastguard Worker} 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workerdeclare void @f(i8*) 29