From 7540cfc5a8c39eca9ba7b631dd30b35f6530f54d Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sun, 21 Jun 2015 17:48:04 +0000 Subject: Fix x86 / x86_64 expl, exp10l missing underflows (bug 16361). Similar to various other bugs in this area, the x86 and x86_64 implementations of expl / exp10l can fail to produce underflow exceptions when the unscaled result has trailing 0 bits so the scaling down to subnormal precision is exact. This patch fixes this by forcing the exception in the case of tiny results. Tested for x86_64 and x86. [BZ #16361] * sysdeps/i386/fpu/e_expl.S [!USE_AS_EXPM1L] (cmin): New object. [!USE_AS_EXPM1L] (IEEE754_EXPL): Force underflow exception for tiny results. * sysdeps/x86_64/fpu/e_expl.S [!USE_AS_EXPM1L] (cmin): New object. [!USE_AS_EXPM1L] (IEEE754_EXPL): Force underflow exception for tiny results. * math/auto-libm-test-in: Add more tests of exp and exp10. Do not mark underflow exceptions as possibly missing for bug 16361. * math/auto-libm-test-out: Regenerated. --- ChangeLog | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 50a336fab3..3503f3c257 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2015-06-21 Joseph Myers + + [BZ #16361] + * sysdeps/i386/fpu/e_expl.S [!USE_AS_EXPM1L] (cmin): New object. + [!USE_AS_EXPM1L] (IEEE754_EXPL): Force underflow exception for + tiny results. + * sysdeps/x86_64/fpu/e_expl.S [!USE_AS_EXPM1L] (cmin): New object. + [!USE_AS_EXPM1L] (IEEE754_EXPL): Force underflow exception for + tiny results. + * math/auto-libm-test-in: Add more tests of exp and exp10. Do not + mark underflow exceptions as possibly missing for bug 16361. + * math/auto-libm-test-out: Regenerated. + 2015-06-19 Joseph Myers * conform/data/sys/select.h-data [XOPEN2K8] (pselect): Expect. -- cgit v1.2.1