glibc/sysdeps
Joseph Myers f5ee5362bf Make MIPS soft-fp preserve NaN payloads for NAN2008.
This corresponds to a patch applied to libgcc.  In glibc it doesn't
actually affect much (only fma, I think).

The MIPS sfp-machine.h files have an _FP_CHOOSENAN implementation
which emulates hardware semantics of not preserving signaling NaN
payloads for an operation with two NaN arguments (although that
doesn't suffice to avoid sNaN payload preservation in any case with
just one NaN argument).

However, those are only hardware semantics in the legacy NaN case; in
the NAN2008 case, the architecture documentation says hardware
preserves payloads in such cases.  Furthermore, this implementation
assumes legacy NaN semantics, so in the NAN2008 case the
implementation actually has the effect of preserving sNaN payloads but
not preserving qNaN payloads, when both should be preserved.

This patch fixes the code just to copy from the first argument.

Tested for mips64 soft-float.

	* sysdeps/mips/mips32/sfp-machine.h (_FP_CHOOSENAN): Always
	preserve NaN payload if [__mips_nan2008].
	* sysdeps/mips/mips64/sfp-machine.h (_FP_CHOOSENAN): Likewise.
2017-01-04 17:15:39 +00:00
..
aarch64 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
alpha Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
arm Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
generic Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gnu Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hppa Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
i386 Update i386 libm-test-ulps. 2017-01-03 21:05:46 +00:00
ia64 Remove duplicate strcat implementations 2017-01-03 17:48:03 -02:00
ieee754 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mach Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
microblaze Fix MicroBlaze __backtrace get_frame_size namespace (bug 21022). 2017-01-04 01:06:04 +00:00
mips Make MIPS soft-fp preserve NaN payloads for NAN2008. 2017-01-04 17:15:39 +00:00
nacl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
nios2 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
nptl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
posix Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
powerpc Remove duplicate strcat implementations 2017-01-03 17:48:03 -02:00
pthread Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s390 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sparc Fix pthread_cond_t on sparc for new condvar. 2017-01-02 15:39:14 +01:00
tile Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
unix powerpc: Fix write-after-destroy in lock elision [BZ #20822] 2017-01-03 17:21:41 -02:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x86 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x86_64 Fix x86 strncat optimized implementation for large sizes 2017-01-03 14:24:53 -02:00