gcc/libgcc/config/mips
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
..
crtfastmath.c Update copyright years. 2017-01-01 13:07:43 +01:00
crti.S Update copyright years. 2017-01-01 13:07:43 +01:00
crtn.S Update copyright years. 2017-01-01 13:07:43 +01:00
gthr-mipssde.h Update copyright years. 2017-01-01 13:07:43 +01:00
lib2funcs.c Update copyright years. 2017-01-01 13:07:43 +01:00
libgcc-mips16.ver Update copyright years. 2017-01-01 13:07:43 +01:00
linux-unwind.h Update copyright years. 2017-01-01 13:07:43 +01:00
mips16.S Update copyright years. 2017-01-01 13:07:43 +01:00
sfp-machine.h Make MIPS soft-fp preserve NaN payloads for NAN2008. 2017-01-04 17:06:33 +00:00
t-crtstuff Move crtstuff support to toplevel libgcc 2011-11-02 14:33:56 +00:00
t-elf Append to HOST_LIBGCC2_CFLAGS in libgcc 2011-11-07 17:14:32 +00:00
t-mips configure.ac (libgcc_cv_mips_hard_float): New. 2014-02-07 07:46:34 +00:00
t-mips16 Update copyright years. 2017-01-01 13:07:43 +01:00
t-mips64 configure.ac: Check __mips64 when setting host_address. 2014-02-02 16:17:15 +00:00
t-sdemtk Makefile.in (FPBIT_FUNCS, [...]): Remove. 2011-08-05 14:53:09 +00:00
t-softfp-tf configure.ac: Check __mips64 when setting host_address. 2014-02-02 16:17:15 +00:00
t-vr Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
vr4120-div.S Update copyright years. 2017-01-01 13:07:43 +01:00