gcc/libgcc
Joseph Myers fec5f4e041 Make MIPS soft-fp preserve NaN payloads for NAN2008.
The MIPS sfp-machine.h has 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 (at the
level of libgcc, it's not meaningful which argument is the first and
which is the second).

Tested for mips64-linux-gnu (soft float, NAN2008) with the glibc math/
tests.

	* config/mips/sfp-machine.h (_FP_CHOOSENAN): Always preserve NaN
	payload if [__mips_nan2008].

From-SVN: r244059
2017-01-04 17:06:33 +00:00
..
config Make MIPS soft-fp preserve NaN payloads for NAN2008. 2017-01-04 17:06:33 +00:00
soft-fp [Patch libgcc 9/17] Update soft-fp from glibc 2016-11-23 17:27:27 +00:00
ChangeLog Make MIPS soft-fp preserve NaN payloads for NAN2008. 2017-01-04 17:06:33 +00:00
Makefile.in Update configure deps, remove stray \xA0 in picflag.m4, regenerate 2017-01-04 18:59:34 +10:30
config.host Update copyright years. 2017-01-01 13:07:43 +01:00
config.in Support PIE on Solaris 2015-09-24 09:00:22 +00:00
configure Update configure deps, remove stray \xA0 in picflag.m4, regenerate 2017-01-04 18:59:34 +10:30
configure.ac configure.ac: Do not create links, only substitute the filenames. 2016-09-21 12:53:20 +00:00
crtstuff.c Update copyright years. 2017-01-01 13:07:43 +01:00
dfp-bit.c Update copyright years. 2017-01-01 13:07:43 +01:00
dfp-bit.h Update copyright years. 2017-01-01 13:07:43 +01:00
divmod.c Update copyright years. 2017-01-01 13:07:43 +01:00
empty.mk
emutls.c Update copyright years. 2017-01-01 13:07:43 +01:00
enable-execute-stack-empty.c enable-execute-stack-empty.c (__enable_execute_stack): Add prototype. 2011-06-22 13:20:07 +02:00
enable-execute-stack-mprotect.c Update copyright years. 2017-01-01 13:07:43 +01:00
find-symver.awk Update copyright years. 2017-01-01 13:07:43 +01:00
fixed-bit.c Update copyright years. 2017-01-01 13:07:43 +01:00
fixed-bit.h Update copyright years. 2017-01-01 13:07:43 +01:00
fixed-obj.mk Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects. 2012-08-23 15:41:03 +00:00
floatunsidf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsisf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsitf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsixf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
fp-bit.c Update copyright years. 2017-01-01 13:07:43 +01:00
fp-bit.h Update copyright years. 2017-01-01 13:07:43 +01:00
gbl-ctors.h Update copyright years. 2017-01-01 13:07:43 +01:00
gen-fixed.sh fixed-obj.mk: New file to support fine-grain fixed-point functions. 2007-09-17 22:18:13 +00:00
generic-morestack-thread.c Update copyright years. 2017-01-01 13:07:43 +01:00
generic-morestack.c Update copyright years. 2017-01-01 13:07:43 +01:00
generic-morestack.h Update copyright years. 2017-01-01 13:07:43 +01:00
gstdint.h dfp.c (WORDS_BIGENDIAN): Define to 0 if not defined. 2008-06-11 00:43:09 +01:00
gthr-posix.h Update copyright years. 2017-01-01 13:07:43 +01:00
gthr-single.h Update copyright years. 2017-01-01 13:07:43 +01:00
gthr.h Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc-std.ver.in Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc2.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc2.h Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-driver-system.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-driver.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-interface.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-merge.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-profiler.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov-util.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcov.h Update copyright years. 2017-01-01 13:07:43 +01:00
memcmp.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memcpy.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memmove.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memset.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
mkheader.sh Update copyright years. 2017-01-01 13:07:43 +01:00
mkmap-flat.awk Update copyright years. 2017-01-01 13:07:43 +01:00
mkmap-symver.awk Update copyright years. 2017-01-01 13:07:43 +01:00
offloadstuff.c Update copyright years. 2017-01-01 13:07:43 +01:00
shared-object.mk Add the nvptx port. 2014-11-10 16:12:42 +00:00
siditi-object.mk Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
static-object.mk Add the nvptx port. 2014-11-10 16:12:42 +00:00
sync.c Update copyright years. 2017-01-01 13:07:43 +01:00
udivmod.c Update copyright years. 2017-01-01 13:07:43 +01:00
udivmodsi4.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-arm-common.inc Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-compat.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-compat.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde-dip.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2-fde.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-dw2.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-generic.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-pe.h Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-seh.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind-sjlj.c Update copyright years. 2017-01-01 13:07:43 +01:00
unwind.inc Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_end.c Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_end_preinit.c Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_start.c Update copyright years. 2017-01-01 13:07:43 +01:00
vtv_start_preinit.c Update copyright years. 2017-01-01 13:07:43 +01:00