2017-08-02 08:28:10 +08:00
|
|
|
; RUN: llc < %s -mtriple=i686-- | FileCheck %s
|
2013-03-30 05:54:00 +08:00
|
|
|
|
2008-10-14 02:13:07 +08:00
|
|
|
define void @ccosl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %z) nounwind {
|
|
|
|
entry:
|
2015-05-19 07:35:09 +08:00
|
|
|
%z8 = extractvalue { x86_fp80, x86_fp80 } %z, 0
|
|
|
|
%z9 = extractvalue { x86_fp80, x86_fp80 } %z, 1
|
|
|
|
%0 = fsub x86_fp80 0xK80000000000000000000, %z9
|
|
|
|
%insert = insertvalue { x86_fp80, x86_fp80 } undef, x86_fp80 %0, 0
|
|
|
|
%insert7 = insertvalue { x86_fp80, x86_fp80 } %insert, x86_fp80 %z8, 1
|
|
|
|
call void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %insert7) nounwind
|
|
|
|
ret void
|
2008-10-14 02:13:07 +08:00
|
|
|
}
|
|
|
|
|
2015-05-19 07:35:09 +08:00
|
|
|
; CHECK-LABEL: ccosl:
|
|
|
|
; CHECK: movl {{[0-9]+}}(%esp), %[[sret_reg:[^ ]+]]
|
|
|
|
; CHECK: movl %[[sret_reg]], (%esp)
|
|
|
|
; CHECK: calll {{.*ccoshl.*}}
|
|
|
|
; CHECK: movl %[[sret_reg]], %eax
|
|
|
|
; CHECK: retl
|
|
|
|
|
2008-10-14 02:13:07 +08:00
|
|
|
declare void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret, { x86_fp80, x86_fp80 }) nounwind
|