[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / swifttail-async.ll
blob488a88fde9430ea927265801984217f4f8b37777
1 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o - | FileCheck %s
4 declare swifttailcc void @swifttail_callee()
5 define swifttailcc void @swifttail() {
6 ; CHECK-LABEL: swifttail:
7 ; CHECK-NOT: popq %r14
8   call void asm "","~{r14}"()
9   tail call swifttailcc void @swifttail_callee()
10   ret void
13 define swifttailcc void @no_preserve_swiftself() {
14 ; CHECK-LABEL: no_preserve_swiftself:
15 ; CHECK-NOT: popq %r13
16   call void asm "","~{r13}"()
17   ret void
20 declare swifttailcc ptr @SwiftSelf(ptr swiftasync %context, ptr swiftself %closure)
21 define swiftcc ptr @CallSwiftSelf(ptr swiftself %closure, ptr %context) {
22 ; CHECK-LABEL: CallSwiftSelf:
23 ; CHECK: pushq %r13
24   ;call void asm "","~{r13}"() ; We get a push r13 but why not with the call
25   ; below?
26   %res = call swifttailcc ptr @SwiftSelf(ptr swiftasync %context, ptr swiftself %closure)
27   ret ptr %res