about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/alpha/fpu/fraiseexcpt.c11
-rw-r--r--sysdeps/i386/fpu/fesetenv.c2
-rw-r--r--sysdeps/libm-i387/t_exp.c (renamed from sysdeps/i386/fpu/t_exp.c)0
-rw-r--r--sysdeps/libm-ieee754/s_exp2f.c2
4 files changed, 8 insertions, 7 deletions
diff --git a/sysdeps/alpha/fpu/fraiseexcpt.c b/sysdeps/alpha/fpu/fraiseexcpt.c
index 6a53e55e7d..c2a96e3f87 100644
--- a/sysdeps/alpha/fpu/fraiseexcpt.c
+++ b/sysdeps/alpha/fpu/fraiseexcpt.c
@@ -1,5 +1,5 @@
 /* Raise given exceptions.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@tamu.edu>, 1997.
 
@@ -24,7 +24,7 @@
 void
 feraiseexcept (int excepts)
 {
-  double tmp;
+  double tmp, dummy;
 
   /* Raise exceptions represented by EXPECTS.  But we must raise only
      one signal at a time.  It is important the if the overflow/underflow
@@ -45,8 +45,8 @@ feraiseexcept (int excepts)
   /* Next: division by zero.  */
   if (FE_DIVBYZERO & excepts)
     {
-      __asm__ __volatile__("cmpteq $f31,$f31,%0; divt/sui %0,$f31,%0; trapb"
-			   : "=f"(tmp));
+      __asm__ __volatile__("cmpteq $f31,$f31,%1; divt/sui %1,$f31,%0; trapb"
+			   : "=f"(tmp), "=f"(dummy));
     }
 
   /* Next: overflow.  */
@@ -60,7 +60,8 @@ feraiseexcept (int excepts)
   if (FE_UNDERFLOW & excepts)
     {
       __asm__ __volatile__("divt/sui %1,%2,%0; trapb"
-			   : "=f"(tmp) : "f"(DBL_MIN), "f"(16.0));
+			   : "=f"(tmp) : "f"(DBL_MIN),
+					 "f"((double) (1UL << 60)));
     }
 
   /* Last: inexact.  */
diff --git a/sysdeps/i386/fpu/fesetenv.c b/sysdeps/i386/fpu/fesetenv.c
index 3faf01a568..3641bb82d3 100644
--- a/sysdeps/i386/fpu/fesetenv.c
+++ b/sysdeps/i386/fpu/fesetenv.c
@@ -40,7 +40,7 @@ fesetenv (const fenv_t *envp)
   if (envp == FE_DFL_ENV)
     {
       temp.control_word |= FE_ALL_EXCEPT;
-      temp.control_word &= ~FE_TOWARDSZERO;
+      temp.control_word &= ~FE_TOWARDZERO;
       temp.status_word &= ~FE_ALL_EXCEPT;
       temp.eip = 0;
       temp.cs_selector = 0;
diff --git a/sysdeps/i386/fpu/t_exp.c b/sysdeps/libm-i387/t_exp.c
index fd37963b05..fd37963b05 100644
--- a/sysdeps/i386/fpu/t_exp.c
+++ b/sysdeps/libm-i387/t_exp.c
diff --git a/sysdeps/libm-ieee754/s_exp2f.c b/sysdeps/libm-ieee754/s_exp2f.c
index 11c5d55e2e..428f46f241 100644
--- a/sysdeps/libm-ieee754/s_exp2f.c
+++ b/sysdeps/libm-ieee754/s_exp2f.c
@@ -94,7 +94,7 @@ __ieee754_exp2f (float x)
       /* 'tval & 255' is the same as 'tval%256' except that it's always
 	 positive.
 	 Compute x = x2.  */
-      x -= __exp2_deltatable[tval & 255];
+      x -= __exp2f_deltatable[tval & 255];
 
       /* 3. Compute ex2 = 2^(t/255+e+ex).  */
       ex2_u.f = __exp2f_atable[tval & 255];