xref: /llvm-project/llvm/test/CodeGen/X86/fastcc-sret.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: llc < %s -mtriple=i686-- -tailcallopt=false | FileCheck %s
2
3	%struct.foo = type { [4 x i32] }
4
5define fastcc void @bar(ptr noalias sret(%struct.foo) %agg.result) nounwind  {
6entry:
7	store i32 1, ptr %agg.result, align 8
8        ret void
9}
10; CHECK: bar
11; CHECK: ret{{[^4]*$}}
12
13@dst = external dso_local global i32
14
15define void @foo() nounwind {
16	%memtmp = alloca %struct.foo, align 4
17        call fastcc void @bar(ptr sret(%struct.foo) %memtmp ) nounwind
18        %tmp6 = load i32, ptr %memtmp
19        store i32 %tmp6, ptr @dst
20        ret void
21}
22; CHECK: foo
23; CHECK: ret{{[^4]*$}}
24