diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/i386/fpu/fenv_private.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 52a95426d1..647ce1d496 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2013-01-18 Siddhesh Poyarekar <siddhesh@redhat.com> + [BZ #14496] + * sysdeps/i386/fpu/fenv_private.h (libc_feupdateenv_test_sse): + Fix application of SIMD FP exception mask. + * sysdeps/ieee754/dbl-64/mpa.h (__pow_mp): New function to get an mp_no from a power of two. * sysdeps/ieee754/dbl-64/mpexp.c (__mpexp): Remove diff --git a/sysdeps/i386/fpu/fenv_private.h b/sysdeps/i386/fpu/fenv_private.h index 03f4c97a9c..1f8336cf96 100644 --- a/sysdeps/i386/fpu/fenv_private.h +++ b/sysdeps/i386/fpu/fenv_private.h @@ -176,7 +176,7 @@ libc_feupdateenv_test_sse (fenv_t *e, int ex) /* Raise SIGFPE for any new exceptions since the hold. Expect that the normal environment has all exceptions masked. */ - if (__builtin_expect ((old_mxcsr >> 7) & cur_ex, 0)) + if (__glibc_unlikely (~(old_mxcsr >> 7) & cur_ex)) __feraiseexcept (cur_ex); /* Test for exceptions raised since the hold. */ |