From: Siddhesh Poyarekar Date: Fri, 18 Jan 2013 08:46:25 +0000 (+0530) Subject: Fix application of the exception mask X-Git-Tag: glibc-2.18~790 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b57daebab36f59af1d2a02616ee636a7b13ba12;p=thirdparty%2Fglibc.git Fix application of the exception mask Fixes BZ #14496. --- diff --git a/ChangeLog b/ChangeLog index 52a95426d1f..647ce1d496b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2013-01-18 Siddhesh Poyarekar + [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 03f4c97a9cb..1f8336cf961 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. */