From 78abb1603d36ee153e78bba205924ea3eea39812 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 13 Oct 2005 20:59:00 +0000 Subject: [PATCH] * synched with i386 git-svn-id: trunk@1373 - --- rtl/x86_64/math.inc | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/rtl/x86_64/math.inc b/rtl/x86_64/math.inc index a3d4b6e740..df5d9e772c 100644 --- a/rtl/x86_64/math.inc +++ b/rtl/x86_64/math.inc @@ -190,7 +190,7 @@ FPC_ABSMASK_DOUBLE: fwait fldt d frndint - fnclex + fwait fldcw -4(%rbp) end; @@ -203,39 +203,29 @@ FPC_ABSMASK_DOUBLE: newcw : word; res : int64; asm - fnstcw oldcw - fwait - movw oldcw,%cx - orw $0x0c3f,%cx - movw %cx,newcw - fldcw newcw - fwait - fldt d - fistpq res - movq res,%rax - fnclex - fldcw oldcw + fnstcw oldcw + fwait + movw oldcw,%cx + orw $0x0c3f,%cx + movw %cx,newcw + fldcw newcw + fldt d + fistpq res + fwait + movq res,%rax + fldcw oldcw end; {$define FPC_SYSTEM_HAS_ROUND} function fpc_round_real(d : ValReal) : int64;assembler;compilerproc; var - oldcw, - newcw : word; res : int64; asm - fnstcw oldcw - fwait - movw $0x1372,newcw - fnclex - fldcw newcw - fwait - fldt d - fistpq res - movq res,%rax - fnclex - fldcw oldcw + fldt d + fistpq res + fwait + movq res,%rax end;