; RUN: llc < %s -march=x86 | FileCheck %s | |
; PR4459 | |
; The return value from ceil must be duped before being consumed by asm. | |
; CHECK: ceil | |
; CHECK: fld %st(0) | |
; CHECK-NOT: fxch | |
; CHECK: fistpl | |
; CHECK-NOT: fxch | |
; CHECK: fstpt | |
; CHECK: test | |
define void @test2(x86_fp80 %a) { | |
entry: | |
%0 = call x86_fp80 @ceil(x86_fp80 %a) | |
call void asm sideeffect "fistpl $0", "{st}"( x86_fp80 %0) | |
call void @test(x86_fp80 %0 ) | |
ret void | |
} | |
declare x86_fp80 @ceil(x86_fp80) | |
declare void @test(x86_fp80) |