diff options
author | Richard Henderson <rth@redhat.com> | 2004-09-06 02:01:35 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2004-09-06 02:01:35 +0000 |
commit | febcd83655138bcb01b2680e170e6773a1ec813c (patch) | |
tree | 28ede43c995a57e82b29bd5fc3fef7112d5a4c20 /sysdeps/alpha/ldiv.S | |
parent | * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P): ... (diff) | |
download | glibc-febcd83655138bcb01b2680e170e6773a1ec813c.tar.gz glibc-febcd83655138bcb01b2680e170e6773a1ec813c.tar.bz2 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/ldiv.S')
-rw-r--r-- | sysdeps/alpha/ldiv.S | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/alpha/ldiv.S b/sysdeps/alpha/ldiv.S index c90edfb784..3909672782 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 |