gcc/libgcc
Joseph Myers d758aeb5ff Correct libgcc complex multiply excess precision handling (PR libgcc/77519).
libgcc complex multiply is meant to eliminate excess
precision from certain internal values by forcing them to memory in
exactly those cases where the type has excess precision.  But in
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01894.html I
accidentally inverted the logic so that values get forced to memory in
exactly the cases where it's not needed.  (This is a pessimization in
the no-excess-precision case, in principle could lead to bad results
depending on code generation in the excess-precision case.  Note: I do
not have a test demonstrating bad results.)

Bootstrapped with no regressions on x86_64-pc-linux-gnu.  Code size
went down on x86_64 as expected; old sizes:

   text    data     bss     dec     hex filename
    887       0       0     887     377 _muldc3.o
    810       0       0     810     32a _mulsc3.o
   2032       0       0    2032     7f0 _multc3.o
    983       0       0     983     3d7 _mulxc3.o

New sizes:

    847       0       0     847     34f _muldc3.o
    770       0       0     770     302 _mulsc3.o
   2032       0       0    2032     7f0 _multc3.o
    951       0       0     951     3b7 _mulxc3.o

	PR libgcc/77519
	* libgcc2.c (NOTRUNC): Invert settings.

From-SVN: r240033
2016-09-08 00:02:56 +01:00
..
config [mips] Fix linux header use in libgcc 2016-08-25 14:08:27 +00:00
soft-fp Update soft-fp from glibc (PR libgcc/77265). 2016-08-16 22:30:56 +01:00
ChangeLog Correct libgcc complex multiply excess precision handling (PR libgcc/77519). 2016-09-08 00:02:56 +01:00
Makefile.in Add new *_atomic counter update function 2016-08-10 13:14:56 +00:00
config.host Always support float128 on x86. 2016-08-26 12:13:42 +01:00
config.in Support PIE on Solaris 2015-09-24 09:00:22 +00:00
configure config.guess: Remove SH5 support. 2016-04-30 09:11:03 +00:00
configure.ac re PR target/70381 (On powerpc, -mfloat128 is on by default for all VSX systems) 2016-04-11 19:45:35 +00:00
crtstuff.c Update copyright years. 2016-01-04 15:30:50 +01:00
dfp-bit.c Update copyright years. 2016-01-04 15:30:50 +01:00
dfp-bit.h Update copyright years. 2016-01-04 15:30:50 +01:00
divmod.c Update copyright years. 2016-01-04 15:30:50 +01:00
empty.mk
emutls.c Update copyright years. 2016-01-04 15:30:50 +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. 2016-01-04 15:30:50 +01:00
find-symver.awk Update copyright years. 2016-01-04 15:30:50 +01:00
fixed-bit.c Update copyright years. 2016-01-04 15:30:50 +01:00
fixed-bit.h Update copyright years. 2016-01-04 15:30:50 +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. 2016-01-04 15:30:50 +01:00
fp-bit.h Update copyright years. 2016-01-04 15:30:50 +01:00
gbl-ctors.h Update copyright years. 2016-01-04 15:30:50 +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. 2016-01-04 15:30:50 +01:00
generic-morestack.c S/390: Add -fsplit-stack support 2016-02-15 10:20:18 +00:00
generic-morestack.h Update copyright years. 2016-01-04 15:30:50 +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. 2016-01-04 15:30:50 +01:00
gthr-single.h Update copyright years. 2016-01-04 15:30:50 +01:00
gthr.h Update copyright years. 2016-01-04 15:30:50 +01:00
libgcc-std.ver.in Update copyright years. 2016-01-04 15:30:50 +01:00
libgcc2.c Correct libgcc complex multiply excess precision handling (PR libgcc/77519). 2016-09-08 00:02:56 +01:00
libgcc2.h Update copyright years. 2016-01-04 15:30:50 +01:00
libgcov-driver-system.c re PR bootstrap/71400 (profiledbootstrap failed) 2016-06-06 15:24:24 +00:00
libgcov-driver.c On behalf of Aaron Conole <aconole@redhat.com> 2016-06-02 12:22:01 +00:00
libgcov-interface.c Update copyright years. 2016-01-04 15:30:50 +01:00
libgcov-merge.c Update copyright years. 2016-01-04 15:30:50 +01:00
libgcov-profiler.c Detect whether target can use -fprofile-update=atomic 2016-09-06 14:13:21 +00:00
libgcov-util.c gcov-tool: Do not segfault in merge operation (PR 2016-08-15 11:23:27 +00:00
libgcov.h Add new *_atomic counter update function 2016-08-10 13:14:56 +00: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. 2016-01-04 15:30:50 +01:00
mkmap-flat.awk Update copyright years. 2016-01-04 15:30:50 +01:00
mkmap-symver.awk Update copyright years. 2016-01-04 15:30:50 +01:00
offloadstuff.c re PR driver/68463 (Offloading fails when some objects are compiled with LTO and some without) 2016-02-25 12:23:52 +00: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. 2016-01-04 15:30:50 +01:00
udivmod.c Update copyright years. 2016-01-04 15:30:50 +01:00
udivmodsi4.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-arm-common.inc Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-c.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-compat.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-compat.h Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-dw2-fde-dip.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-dw2-fde.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-dw2-fde.h Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-dw2.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-dw2.h Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-generic.h Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-pe.h Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-seh.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind-sjlj.c Update copyright years. 2016-01-04 15:30:50 +01:00
unwind.inc Update copyright years. 2016-01-04 15:30:50 +01:00
vtv_end.c Update copyright years. 2016-01-04 15:30:50 +01:00
vtv_end_preinit.c Update copyright years. 2016-01-04 15:30:50 +01:00
vtv_start.c Update copyright years. 2016-01-04 15:30:50 +01:00
vtv_start_preinit.c Update copyright years. 2016-01-04 15:30:50 +01:00