gcc/libgcc/config/rs6000
Michael Meissner 6a8886e45f re PR target/85358 (PowerPC: Using -mabi=ieeelongdouble -mcpu=power9 breaks __ibm128)
[gcc]
2018-06-18  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85358
	* config/rs6000/rs6000-modes.def (toplevel): Rework the 128-bit
	floating point modes, so that IFmode is numerically greater than
	TFmode, which is greater than KFmode using FRACTIONAL_FLOAT_MODE
	to declare the ordering.  This prevents IFmode from being
	converted to TFmode when long double is IEEE 128-bit on an ISA 3.0
	machine.  Include rs6000-modes.h to share the fractional values
	between genmodes* and the rest of the compiler.
	(IFmode): Likewise.
	(KFmode): Likewise.
	(TFmode): Likewise.
	* config/rs6000/rs6000-modes.h: New file.
	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Change the
	meaning of rs6000_long_double_size so that 126..128 selects an
	appropriate 128-bit floating point type.
	(rs6000_option_override_internal): Likewise.
	* config/rs6000/rs6000.h (toplevel): Include rs6000-modes.h.
	(TARGET_LONG_DOUBLE_128): Change the meaning of
	rs6000_long_double_size so that 126..128 selects an appropriate
	128-bit floating point type.
	(LONG_DOUBLE_TYPE_SIZE): Update comment.
	* config/rs6000/rs6000.md (trunciftf2): Correct the modes of the
	source and destination to match the standard usage.
	(truncifkf2): Likewise.
	(copysign<mode>3, IEEE iterator): Rework copysign of float128 on
	ISA 2.07 to use an explicit clobber, instead of passing in a
	temporary.
	(copysign<mode>3_soft): Likewise.

[libgcc]
2018-06-18  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128
	support modules with -mno-gnu-attribute.
	* config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise.

From-SVN: r261712
2018-06-18 19:10:08 +00:00
..
_divkc3.c quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. 2018-01-08 21:49:37 +00:00
_mulkc3.c quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. 2018-01-08 21:49:37 +00:00
_powikf2.c re PR target/85456 (PowerPC: Using -mabi=ieeelongdouble calls wrong function for __builtin_powi.) 2018-04-20 21:27:08 +00:00
aix-unwind.h Update copyright years. 2018-01-03 11:03:58 +01:00
aixinitfini.c
atexit.c Update copyright years. 2018-01-03 11:03:58 +01:00
crtcxa.c Update copyright years. 2018-01-03 11:03:58 +01:00
crtdbase.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtresfpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtresgpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtrestvr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtresxfpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtresxgpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtsavevr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtsavfpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
crtsavgpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
cxa_atexit.c Update copyright years. 2018-01-03 11:03:58 +01:00
cxa_finalize.c Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-asm.h Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-crt2.c Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-fallback.c Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-fpsave.S Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-gpsave.S Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-tramp.S Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-unwind.h Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-vecsave.S Update copyright years. 2018-01-03 11:03:58 +01:00
darwin-world.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtres32gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtres64gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtres64gprctr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtrest32gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtrest64gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtresx32gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtresx64gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtsav32gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtsav64gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtsav64gprctr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtsavg32gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtsavg64gpr.S Update copyright years. 2018-01-03 11:03:58 +01:00
e500crtsavg64gprctr.S Update copyright years. 2018-01-03 11:03:58 +01:00
eabi-ci.S Update copyright years. 2018-01-03 11:03:58 +01:00
eabi-cn.S Update copyright years. 2018-01-03 11:03:58 +01:00
eabi.S Update copyright years. 2018-01-03 11:03:58 +01:00
exit.h Update copyright years. 2018-01-03 11:03:58 +01:00
extendkftf2-sw.c quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. 2018-01-08 21:49:37 +00:00
fixkfti.c Update copyright years. 2018-01-03 11:03:58 +01:00
fixunskfti.c Update copyright years. 2018-01-03 11:03:58 +01:00
float128-hw.c Update copyright years. 2018-01-03 11:03:58 +01:00
float128-ifunc.c re PR target/85456 (PowerPC: Using -mabi=ieeelongdouble calls wrong function for __builtin_powi.) 2018-04-20 21:27:08 +00:00
float128-sed
float128-sed-hw
floattikf.c Update copyright years. 2018-01-03 11:03:58 +01:00
floatuntikf.c Update copyright years. 2018-01-03 11:03:58 +01:00
freebsd-unwind.h Update copyright years. 2018-01-03 11:03:58 +01:00
gthr-aix.h Update copyright years. 2018-01-03 11:03:58 +01:00
ibm-ldouble-format Update copyright years. 2018-01-03 11:03:58 +01:00
ibm-ldouble.c quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. 2018-01-08 21:49:37 +00:00
libgcc-aix-cxa.ver
libgcc-darwin.10.4.ver Update copyright years. 2018-01-03 11:03:58 +01:00
libgcc-darwin.10.5.ver Update copyright years. 2018-01-03 11:03:58 +01:00
libgcc-glibc.ver Update copyright years. 2018-01-03 11:03:58 +01:00
libgcc-ibm-ldouble.ver
linux-unwind.h Update copyright years. 2018-01-03 11:03:58 +01:00
morestack.S Update copyright years. 2018-01-03 11:03:58 +01:00
on_exit.c Update copyright years. 2018-01-03 11:03:58 +01:00
ppc64-fp.c Update copyright years. 2018-01-03 11:03:58 +01:00
quad-float128.h re PR target/85456 (PowerPC: Using -mabi=ieeelongdouble calls wrong function for __builtin_powi.) 2018-04-20 21:27:08 +00:00
sfp-exceptions.c Update copyright years. 2018-01-03 11:03:58 +01:00
sfp-machine.h [libgcc] Remove semicolon after do {} while (0) in FP_HANDLE_EXCEPTIONS 2017-11-07 08:11:43 +00:00
sol-ci.S Update copyright years. 2018-01-03 11:03:58 +01:00
sol-cn.S Update copyright years. 2018-01-03 11:03:58 +01:00
t-aix-cxa
t-crtstuff PR85532, crtend.o built without --enable-initfini-array has bad .eh_frame 2018-04-27 18:36:39 +09:30
t-darwin
t-darwin64
t-e500v1-fp Update copyright years. 2018-01-03 11:03:58 +01:00
t-e500v2-fp Update copyright years. 2018-01-03 11:03:58 +01:00
t-float128 re PR target/85358 (PowerPC: Using -mabi=ieeelongdouble -mcpu=power9 breaks __ibm128) 2018-06-18 19:10:08 +00:00
t-float128-hw re PR target/85358 (PowerPC: Using -mabi=ieeelongdouble -mcpu=power9 breaks __ibm128) 2018-06-18 19:10:08 +00:00
t-freebsd Update copyright years. 2018-01-03 11:03:58 +01:00
t-freebsd64
t-ibm-ldouble
t-linux
t-lynx
t-netbsd
t-ppc64-fp
t-ppccomm
t-savresfgpr
t-slibgcc-aix Update copyright years. 2018-01-03 11:03:58 +01:00
t-stack-rs6000
tramp.S Update copyright years. 2018-01-03 11:03:58 +01:00
trunctfkf2-sw.c quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. 2018-01-08 21:49:37 +00:00