1 // RUN: %clang_cc1 -triple aarch64 -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-AAPCS
2 // RUN: %clang_cc1 -triple arm64-apple-ios7.0 -target-abi darwinpcs -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,CHECK-DARWIN
3 // RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-llvm -o - -x c %s | FileCheck %s --check-prefixes=CHECK,CHECK-AAPCS
9 // CHECK-AAPCS: define{{.*}} float @f0([2 x float] alignstack(8) %h.coerce)
10 // CHECK-DARWIN: define{{.*}} float @f0([2 x float] %h.coerce)
15 // CHECK: define{{.*}} float @f0_call()
16 // CHECK-AAPCS: %call = call float @f0([2 x float] alignstack(8) %0)
17 // CHECK-DARWIN: %call = call float @f0([2 x float] %0)
25 // CHECK-AAPCS: define{{.*}} double @f1([2 x double] alignstack(8) %h.coerce)
26 // CHECK-DARWIN: define{{.*}} double @f1([2 x double] %h.coerce)
31 // CHECK: define{{.*}} double @f1_call()
32 // CHECK-AAPCS: %call = call double @f1([2 x double] alignstack(8) %0
33 // CHECK-DARWIN: %call = call double @f1([2 x double] %0
34 double f1_call(void) {
39 __attribute__((__aligned__(16))) double v
[2];
42 // CHECK-AAPCS: define{{.*}} double @f2([2 x double] alignstack(16) %h.coerce)
43 // CHECK-DARWIN: define{{.*}} double @f2([2 x double] %h.coerce)
48 // CHECK: define{{.*}} double @f2_call()
49 // CHECK-AAPCS: %call = call double @f2([2 x double] alignstack(16) %0)
50 // CHECK-DARWIN: %call = call double @f2([2 x double] %0
51 double f2_call(void) {
57 __attribute__((__aligned__(32))) double v
[4];
60 // CHECK-AAPCS: define{{.*}} double @f3([4 x double] alignstack(16) %h.coerce)
61 // CHECK-DARWIN: define{{.*}} double @f3([4 x double] %h.coerce)
66 // CHECK: define{{.*}} double @f3_call()
67 // CHECK-AAPCS: %call = call double @f3([4 x double] alignstack(16) %0)
68 // CHECK-DARWIN: %call = call double @f3([4 x double] %0
69 double f3_call(void) {