about summary refs log tree commit diff
path: root/sysdeps/alpha/div.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-09-06 02:01:35 +0000
committerRichard Henderson <rth@redhat.com>2004-09-06 02:01:35 +0000
commitfebcd83655138bcb01b2680e170e6773a1ec813c (patch)
tree28ede43c995a57e82b29bd5fc3fef7112d5a4c20 /sysdeps/alpha/div.S
parent42d86dd6c0a12373cb1d10b49f7ad2fb6488d364 (diff)
downloadglibc-febcd83655138bcb01b2680e170e6773a1ec813c.tar.gz
glibc-febcd83655138bcb01b2680e170e6773a1ec813c.tar.xz
glibc-febcd83655138bcb01b2680e170e6773a1ec813c.zip
* 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.
Diffstat (limited to 'sysdeps/alpha/div.S')
-rw-r--r--sysdeps/alpha/div.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/alpha/div.S b/sysdeps/alpha/div.S
index e0eb7e9796..d1a724d375 100644
--- a/sysdeps/alpha/div.S
+++ b/sysdeps/alpha/div.S
@@ -48,6 +48,8 @@ div:
 #endif
 
 	beq	$18, $divbyzero
+	excb
+	mf_fpcr	$f10
 
 	_ITOFT2	$17, $f0, 0, $18, $f1, 8
 
@@ -55,7 +57,8 @@ div:
 	cvtqt	$f1, $f1
 	divt/c	$f0, $f1, $f0
 	cvttq/c	$f0, $f0
-
+	excb
+	mt_fpcr	$f10
 	_FTOIT	$f0, $0, 0
 
 	mull	$0, $18, $1