From febcd83655138bcb01b2680e170e6773a1ec813c Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@redhat.com>
Date: Mon, 6 Sep 2004 02:01:35 +0000
Subject:         * sysdeps/alpha/div.S: Save and restore FPCR around fp
 operations.         * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S,
 sysdeps/alpha/divqu.S,         sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S,
 sysdeps/alpha/remq.S,         sysdeps/alpha/remqu.S: Likewise.         *
 sysdeps/alpha/div_libc.h (FRAME): Increase to 64.

2004-09-05  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/div.S: Save and restore FPCR around fp operations.
	* sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S,
	sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S,
	sysdeps/alpha/remqu.S: Likewise.
	* sysdeps/alpha/div_libc.h (FRAME): Increase to 64.
---
 sysdeps/alpha/ldiv.S | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'sysdeps/alpha/ldiv.S')

diff --git a/sysdeps/alpha/ldiv.S b/sysdeps/alpha/ldiv.S
index c90edfb..3909672 100644
--- a/sysdeps/alpha/ldiv.S
+++ b/sysdeps/alpha/ldiv.S
@@ -53,6 +53,8 @@ ldiv:
 #endif
 
 	beq	Y, $divbyzero
+	excb
+	mf_fpcr	$f10
 
 	_ITOFT2	X, $f0, 0, Y, $f1, 8
 
@@ -71,6 +73,8 @@ ldiv:
 	/* If we get here, we're expecting exact results from the division.
 	   Do nothing else besides convert and clean up.  */
 	cvttq/c	$f0, $f0
+	excb
+	mt_fpcr	$f10
 	_FTOIT	$f0, $0, 0
 
 $egress:
@@ -107,9 +111,10 @@ $fix_sign_in_ret1:
 	cvttq/c	$f0, $f0
 
 	_FTOIT	$f0, Q, 8
-	.align	3
 $fix_sign_in_ret2:
 	mulq	Q, Y, QY
+	excb
+	mt_fpcr	$f10
 
 	.align	4
 	subq	QY, X, R
-- 
cgit v1.1