blob: a609681c492382a542c6c392b746ba30b058ee93 [file] [log] [blame]
Jakob Stoklund Olesen4180d482010-07-10 16:30:25 +00001; RUN: llc < %s -march=x86 | FileCheck %s
Rafael Espindola6d7e76f2009-06-29 20:29:59 +00002; PR4459
3
Jakob Stoklund Olesen4180d482010-07-10 16:30:25 +00004; The return value from ceil must be duped before being consumed by asm.
5; CHECK: ceil
6; CHECK: fld %st(0)
7; CHECK-NOT: fxch
8; CHECK: fistpl
9; CHECK-NOT: fxch
10; CHECK: fstpt
11; CHECK: test
Rafael Espindola6d7e76f2009-06-29 20:29:59 +000012define void @test2(x86_fp80 %a) {
13entry:
14 %0 = call x86_fp80 @ceil(x86_fp80 %a)
15 call void asm sideeffect "fistpl $0", "{st}"( x86_fp80 %0)
16 call void @test(x86_fp80 %0 )
17 ret void
18}
Jakob Stoklund Olesen4180d482010-07-10 16:30:25 +000019declare x86_fp80 @ceil(x86_fp80)
20declare void @test(x86_fp80)