glibc/sysdeps
Joseph Myers cb0937b299 Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569).
In the x86 / x86_64 implementations of expm1l, when expm1l's result
should underflow to 0 (argument minus the least subnormal, in some
rounding modes), it can be a zero of the wrong sign.  This patch fixes
this by returning the argument with underflow forced in that case
(this is a 1ulp error relative to the correctly rounded result of -0,
which is OK in terms of the documented accuracy goals, whereas a
result with the wrong sign never is).

Tested for x86_64 and x86.

	[BZ #18569]
	* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Force
	underflow and return argument in case of subnormal argument.
	* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]:
	Likewise.
	* math/auto-libm-test-in: Add more tests of expm1.
	* math/auto-libm-test-out: Regenerated.
2015-06-21 18:43:10 +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 NaCl: Provide non-default values for uname. 2015-05-12 10:54:47 -07:00
generic Refactoring of START for conditions in individual tests 2015-05-14 18:07:06 +03:00
gnu hurd: fix unwind-resume.c build 2015-02-08 18:46:00 +01:00
hppa hppa: Fix feupdateenv and fesetexceptflag (Bug 18111). 2015-03-11 02:48:59 -04:00
i386 Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569). 2015-06-21 18:43:10 +00:00
ia64 Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
ieee754 Fixed powerpc64 build. 2015-06-19 20:42:34 +03:00
init_array NPTL: Initializer for .init_array-only configurations. 2015-02-13 13:19:11 -08:00
m68k Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
mach Fix nice getpriority, setpriority namespace (bug 18553). 2015-06-17 20:22:39 +00:00
microblaze Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
mips Fix mips16 __fpu_control static linking (bug 18397). 2015-05-11 22:58:10 +00:00
nacl NaCl: Implement nacl_interface_ext_supply entry point. 2015-06-03 13:51:11 -07:00
nios2 Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
nptl NPTL: Remove duplicate definition of PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP 2015-03-28 01:50:12 -04:00
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 Replace ELF_RTYPE_CLASS_NOCOPY with ELF_RTYPE_CLASS_COPY 2015-03-05 08:40:41 -08:00
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 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
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