6a8886e45f
[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 |
||
---|---|---|
.. | ||
_divkc3.c | ||
_mulkc3.c | ||
_powikf2.c | ||
aix-unwind.h | ||
aixinitfini.c | ||
atexit.c | ||
crtcxa.c | ||
crtdbase.S | ||
crtresfpr.S | ||
crtresgpr.S | ||
crtrestvr.S | ||
crtresxfpr.S | ||
crtresxgpr.S | ||
crtsavevr.S | ||
crtsavfpr.S | ||
crtsavgpr.S | ||
cxa_atexit.c | ||
cxa_finalize.c | ||
darwin-asm.h | ||
darwin-crt2.c | ||
darwin-fallback.c | ||
darwin-fpsave.S | ||
darwin-gpsave.S | ||
darwin-tramp.S | ||
darwin-unwind.h | ||
darwin-vecsave.S | ||
darwin-world.S | ||
e500crtres32gpr.S | ||
e500crtres64gpr.S | ||
e500crtres64gprctr.S | ||
e500crtrest32gpr.S | ||
e500crtrest64gpr.S | ||
e500crtresx32gpr.S | ||
e500crtresx64gpr.S | ||
e500crtsav32gpr.S | ||
e500crtsav64gpr.S | ||
e500crtsav64gprctr.S | ||
e500crtsavg32gpr.S | ||
e500crtsavg64gpr.S | ||
e500crtsavg64gprctr.S | ||
eabi-ci.S | ||
eabi-cn.S | ||
eabi.S | ||
exit.h | ||
extendkftf2-sw.c | ||
fixkfti.c | ||
fixunskfti.c | ||
float128-hw.c | ||
float128-ifunc.c | ||
float128-sed | ||
float128-sed-hw | ||
floattikf.c | ||
floatuntikf.c | ||
freebsd-unwind.h | ||
gthr-aix.h | ||
ibm-ldouble-format | ||
ibm-ldouble.c | ||
libgcc-aix-cxa.ver | ||
libgcc-darwin.10.4.ver | ||
libgcc-darwin.10.5.ver | ||
libgcc-glibc.ver | ||
libgcc-ibm-ldouble.ver | ||
linux-unwind.h | ||
morestack.S | ||
on_exit.c | ||
ppc64-fp.c | ||
quad-float128.h | ||
sfp-exceptions.c | ||
sfp-machine.h | ||
sol-ci.S | ||
sol-cn.S | ||
t-aix-cxa | ||
t-crtstuff | ||
t-darwin | ||
t-darwin64 | ||
t-e500v1-fp | ||
t-e500v2-fp | ||
t-float128 | ||
t-float128-hw | ||
t-freebsd | ||
t-freebsd64 | ||
t-ibm-ldouble | ||
t-linux | ||
t-lynx | ||
t-netbsd | ||
t-ppc64-fp | ||
t-ppccomm | ||
t-savresfgpr | ||
t-slibgcc-aix | ||
t-stack-rs6000 | ||
tramp.S | ||
trunctfkf2-sw.c |