1*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -mframe-pointer=all -triple x86_64-apple-darwin10 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=ALWAYS-X86
2*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -mframe-pointer=all -triple x86_64-apple-darwin12 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=ALWAYS-X86
3*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=never -mframe-pointer=all -triple x86_64-apple-darwin10 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=NEVER-X86
4*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=never -mframe-pointer=all -triple x86_64-apple-darwin12 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=NEVER-X86
5*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=auto -mframe-pointer=all -triple x86_64-apple-darwin10 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=AUTO-X86
6*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=auto -mframe-pointer=all -triple x86_64-apple-darwin12 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=ALWAYS-X86
7*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=always -mframe-pointer=all -triple x86_64-apple-darwin10 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=ALWAYS-X86
8*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=always -mframe-pointer=all -triple x86_64-apple-darwin12 -target-cpu core2 -S -o - %s | FileCheck %s --check-prefix=ALWAYS-X86
9*f670c5aeSArnold Schwaighofer
10*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -mframe-pointer=all -triple arm64-apple-ios9 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=ALWAYS-ARM64
11*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -mframe-pointer=all -triple arm64-apple-ios15 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=ALWAYS-ARM64
12*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=auto -mframe-pointer=all -triple arm64-apple-ios9 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=AUTO-ARM64
13*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=auto -mframe-pointer=all -triple arm64-apple-ios15 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=ALWAYS-ARM64
14*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=never -mframe-pointer=all -triple arm64-apple-ios9 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=NEVER-ARM64
15*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=never -mframe-pointer=all -triple arm64-apple-ios15 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=NEVER-ARM64
16*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=always -mframe-pointer=all -triple arm64-apple-ios9 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=ALWAYS-ARM64
17*f670c5aeSArnold Schwaighofer // RUN: %clang_cc1 -fswift-async-fp=always -mframe-pointer=all -triple arm64-apple-ios15 -target-cpu cyclone -S -o - %s | FileCheck %s --check-prefix=ALWAYS-ARM64
18*f670c5aeSArnold Schwaighofer
19*f670c5aeSArnold Schwaighofer // REQUIRES: aarch64-registered-target,x86-registered-target
20*f670c5aeSArnold Schwaighofer
21*f670c5aeSArnold Schwaighofer #define SWIFTASYNCCALL __attribute__((swiftasynccall))
22*f670c5aeSArnold Schwaighofer #define ASYNC_CONTEXT __attribute__((swift_async_context))
23*f670c5aeSArnold Schwaighofer
async_context_1(ASYNC_CONTEXT void * ctx)24*f670c5aeSArnold Schwaighofer SWIFTASYNCCALL void async_context_1(ASYNC_CONTEXT void *ctx) {}
25*f670c5aeSArnold Schwaighofer
26*f670c5aeSArnold Schwaighofer // AUTO-X86: _async_context_1:
27*f670c5aeSArnold Schwaighofer // AUTO-X86: _swift_async_extendedFramePointerFlags
28*f670c5aeSArnold Schwaighofer
29*f670c5aeSArnold Schwaighofer // ALWAYS-X86: _async_context_1:
30*f670c5aeSArnold Schwaighofer // ALWAYS-X86: btsq $60
31*f670c5aeSArnold Schwaighofer
32*f670c5aeSArnold Schwaighofer // NEVER-X86: _async_context_1:
33*f670c5aeSArnold Schwaighofer // NEVER-X86-NOT: _swift_async_extendedFramePointerFlags
34*f670c5aeSArnold Schwaighofer // NEVER-X86-NOT: btsq $60
35*f670c5aeSArnold Schwaighofer
36*f670c5aeSArnold Schwaighofer // AUTO-ARM64: _async_context_1
37*f670c5aeSArnold Schwaighofer // AUTO-ARM64: _swift_async_extendedFramePointerFlags
38*f670c5aeSArnold Schwaighofer
39*f670c5aeSArnold Schwaighofer // ALWAYS-ARM64: _async_context_1
40*f670c5aeSArnold Schwaighofer // ALWAYS-ARM64: orr x29, x29, #0x1000000000000000
41*f670c5aeSArnold Schwaighofer
42*f670c5aeSArnold Schwaighofer // NEVER-ARM64: _async_context_1:
43*f670c5aeSArnold Schwaighofer // NEVER-ARM64-NOT: _swift_async_extendedFramePointerFlags
44*f670c5aeSArnold Schwaighofer // NEVER-ARM64-NOT: orr x29, x29, #0x1000000000000000
45