[WebAssembly] Don't perform the returned-argument optimization on constants.
[oota-llvm.git] / test / CodeGen / ARM / arm-abi-attr.ll
1 ; RUN: llc -mtriple=arm-linux-gnu < %s | FileCheck %s --check-prefix=APCS
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
16 define 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(i8* %c)
25   ret void
26 }
27
28 declare void @f(i8*)