; RUN: llc < %s -mtriple=x86_64-uefi | FileCheck %s -check-prefix=UEFIFAST64 ; RUN: llc < %s -mtriple=x86_64-windows-msvc | FileCheck %s -check-prefix=UEFIFAST64 declare fastcc i32 @fastcallee1(i32 %a1, i32 %a2, i32 %a3, i32 %a4) define fastcc i32 @fastcaller1(i32 %in1, i32 %in2) nounwind { ;; Test that the caller allocates stack space for callee to spill the register arguments. ; UEFIFAST64-LABEL: fastcaller1: ; UEFIFAST64: # %bb.0: # %entry ; UEFIFAST64-NEXT: subq $40, %rsp ; UEFIFAST64-NEXT: movl %ecx, %r8d ; UEFIFAST64-NEXT: movl %edx, %r9d ; UEFIFAST64-NEXT: callq fastcallee1 ; UEFIFAST64-NEXT: addq $40, %rsp ; UEFIFAST64-NEXT: retq entry: %tmp11 = call fastcc i32 @fastcallee1(i32 %in1, i32 %in2, i32 %in1, i32 %in2) ret i32 %tmp11 }