1; RUN: llc < %s -mtriple=i686-- | FileCheck %s
2
3define void @ccosl({ x86_fp80, x86_fp80 }* noalias sret({ x86_fp80, x86_fp80 }) %agg.result, { x86_fp80, x86_fp80 } %z) nounwind {
4entry:
5  %z8 = extractvalue { x86_fp80, x86_fp80 } %z, 0
6  %z9 = extractvalue { x86_fp80, x86_fp80 } %z, 1
7  %0 = fsub x86_fp80 0xK80000000000000000000, %z9
8  %insert = insertvalue { x86_fp80, x86_fp80 } undef, x86_fp80 %0, 0
9  %insert7 = insertvalue { x86_fp80, x86_fp80 } %insert, x86_fp80 %z8, 1
10  call void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret({ x86_fp80, x86_fp80 }) %agg.result, { x86_fp80, x86_fp80 } %insert7) nounwind
11  ret void
12}
13
14; CHECK-LABEL: ccosl:
15; CHECK:         movl    {{[0-9]+}}(%esp), %[[sret_reg:[^ ]+]]
16; CHECK:         movl    %[[sret_reg]], (%esp)
17; CHECK:         calll   {{.*ccoshl.*}}
18; CHECK:         movl    %[[sret_reg]], %eax
19; CHECK:         retl
20
21declare void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret({ x86_fp80, x86_fp80 }), { x86_fp80, x86_fp80 }) nounwind
22