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