glibc/sysdeps
Joseph Myers 718d34a309 Fix csqrt spurious underflows (bug 18371).
The csqrt implementations in glibc can cause spurious underflows in
some cases as a side-effect of the scaling for large arguments (when
underflow is correct for the square root of the argument that was
scaled down to avoid overflow, but not for the original argument).
This patch arranges to avoid the underflowing intermediate computation
(eliminating a multiplication in 0.5 in the problem cases where a
subsequent scaling by 2 would follow).

Tested for x86_64 and x86 and ulps updated accordingly (only needed
for x86).

	[BZ #18371]
	* math/s_csqrt.c (__csqrt): Avoid multiplication by 0.5 where
	intermediate but not final result might underflow.
	* math/s_csqrtf.c (__csqrtf): Likewise.
	* math/s_csqrtl.c (__csqrtl): Likewise.
	* math/auto-libm-test-in: Add more tests of csqrt.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
2015-06-23 16:01:54 +00:00
..
aarch64 [AArch64] Fix cfi_adjust_cfa_offset usage in dl-tlsdesc.S 2015-06-17 12:44:53 +01:00
alpha alpha: Update libm-test-ulps 2015-05-19 09:43:54 -07:00
arm
generic Refactoring of START for conditions in individual tests 2015-05-14 18:07:06 +03:00
gnu
hppa
i386 Fix csqrt spurious underflows (bug 18371). 2015-06-23 16:01:54 +00:00
ia64
ieee754 Fix exp2, exp2f spurious underflows (bug 18219). 2015-06-23 14:35:18 +00:00
init_array
m68k
mach Fix nice getpriority, setpriority namespace (bug 18553). 2015-06-17 20:22:39 +00:00
microblaze
mips
nacl NaCl: Implement nacl_interface_ext_supply entry point. 2015-06-03 13:51:11 -07:00
nios2
nptl
posix Fix nice getpriority, setpriority namespace (bug 18553). 2015-06-17 20:22:39 +00:00
powerpc Use libc_hidden_proto / libc_hidden_def with __strnlen. 2015-06-02 20:24:25 +00:00
pthread Fix aio_* pread namespace (bug 18519). 2015-06-12 17:34:11 +00:00
s390 S/390: Regenerate ULPs 2015-06-19 13:47:59 +02:00
sh
sparc Fix mq_notify pthread_barrier_* namespace (bug 18544). 2015-06-17 20:16:56 +00:00
tile Use libc_hidden_proto / libc_hidden_def with __strnlen. 2015-06-02 20:24:25 +00:00
unix Fix netinet/in.h MCAST_* namespace (bug 18558). 2015-06-18 19:48:22 +00:00
wordsize-32
wordsize-64
x86 Vector sincosf for x86_64 and tests. 2015-06-18 20:11:27 +03:00
x86_64 Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569). 2015-06-21 18:43:10 +00:00