llvm-project/llvm/test/CodeGen/X86/win64-nosse-csrs.ll

31 lines
641 B
LLVM

; RUN: llc < %s -mattr="-sse,-mmx,+soft-float" | FileCheck %s
; CHECK: peach:
; CHECK: pushq %rsi
; CHECK: pushq %rdi
; CHECK-NOT: movaps
; CHECK: callq banana
; CHECK-NOT: movaps
; CHECK: popq %rdi
; CHECK: popq %rsi
; CHECK: retq
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: uwtable
define internal i64 @banana() unnamed_addr #0 {
entry-block:
ret i64 0
}
; Function Attrs: nounwind uwtable
define win64cc i64 @peach() unnamed_addr #1 {
entry-block:
%0 = call i64 @banana()
ret i64 %0
}
attributes #0 = { uwtable }
attributes #1 = { nounwind uwtable }