summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-02-12 23:05:37 +0000
committerAurelien Jarno <aurelien@aurel32.net>2017-02-20 22:04:52 +0100
commit0a62a5c401cf5b4e79e8290e46ce36f4c6dd08da (patch)
treed0a47ee621f3d5c49e13137cf23ca670b1786ca9 /NEWS
parenta0b2d5b252477b6bc374390c14c3c8ed6aae420c (diff)
downloadglibc-0a62a5c401cf5b4e79e8290e46ce36f4c6dd08da.tar.gz
Fix powerpc software sqrt (bug 17964).release/2.19/master
As Adhemerval noted in <https://sourceware.org/ml/libc-alpha/2015-01/msg00451.html>, the powerpc sqrt implementation for when _ARCH_PPCSQ is not defined is inaccurate in some cases. The problem is that this code relies on fused multiply-add, and relies on the compiler contracting a * b + c to get a fused operation. But sysdeps/ieee754/dbl-64/Makefile disables contraction for e_sqrt.c, because the implementation in that directory relies on *not* having contracted operations. While it would be possible to arrange makefiles so that an earlier sysdeps directory can disable the setting in sysdeps/ieee754/dbl-64/Makefile, it seems a lot cleaner to make the dependence on fused operations explicit in the .c file. GCC 4.6 introduced support for __builtin_fma on powerpc and other architectures with such instructions, so we can rely on that; this patch duly makes the code use __builtin_fma for all such fused operations. Tested for powerpc32 (hard float). 2015-02-12 Joseph Myers <joseph@codesourcery.com> [BZ #17964] * sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Use __builtin_fma instead of relying on contraction of a * b + c. (cherry picked from commit e8bd5286c68bc35be3b41e94c15c4387dcb3bec9)
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS4
1 files changed, 2 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index f62b876d81..bdbf52bd7c 100644
--- a/NEWS
+++ b/NEWS
@@ -12,8 +12,8 @@ Version 2.19.1
15946, 16009, 16545, 16574, 16576, 16623, 16657, 16695, 16743, 16758,
16759, 16760, 16878, 16882, 16885, 16916, 16932, 16943, 16958, 17048,
17062, 17069, 17079, 17137, 17153, 17213, 17263, 17269, 17325, 17523,
- 17555, 17905, 18007, 18032, 18080, 18240, 18287, 18508, 18665, 18905,
- 18928, 19018, 19779, 19791, 19879, 20010, 20112.
+ 17555, 17905, 17964, 18007, 18032, 18080, 18240, 18287, 18508, 18665,
+ 18905, 18928, 19018, 19779, 19791, 19879, 20010, 20112.
* A buffer overflow in gethostbyname_r and related functions performing DNS
requests has been fixed. If the NSS functions were called with a