* sysdeps/powerpc/fpu/e_sqrt.c: Avoid call to fetestexcept.

* sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.
This commit is contained in:
Ulrich Drepper 2008-04-12 03:39:30 +00:00
parent 3cc56f9208
commit c3a0ead420
3 changed files with 13 additions and 6 deletions

View File

@ -1,5 +1,8 @@
2008-04-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/powerpc/fpu/e_sqrt.c: Avoid call to fetestexcept.
* sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.
* scripts/data/localplt-powerpc64-linux-gnu.data: New file.
* sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto for

View File

@ -1,5 +1,5 @@
/* Double-precision floating point square root.
Copyright (C) 1997, 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1997, 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -150,7 +150,9 @@ __slow_ieee754_sqrt (x)
FE_INVALID_SQRT. */
#ifdef FE_INVALID_SQRT
feraiseexcept (FE_INVALID_SQRT);
if (!fetestexcept (FE_INVALID))
fenv_union_t u = { .fenv = fegetenv_register () };
if ((u.l[1] & FE_INVALID) == 0)
#endif
feraiseexcept (FE_INVALID);
x = a_nan.value;

View File

@ -1,5 +1,5 @@
/* Single-precision floating point square root.
Copyright (C) 1997, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1997, 2003, 2004, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -126,7 +126,9 @@ __slow_ieee754_sqrtf (x)
FE_INVALID_SQRT. */
#ifdef FE_INVALID_SQRT
feraiseexcept (FE_INVALID_SQRT);
if (!fetestexcept (FE_INVALID))
fenv_union_t u = { .fenv = fegetenv_register () };
if ((u.l[1] & FE_INVALID) == 0)
#endif
feraiseexcept (FE_INVALID);
x = a_nan.value;