On Fri, Oct 23, 2015 at 1:30 PM, Michael Meissner <meiss...@linux.vnet.ibm.com> wrote: > This patch changes the switch from -mfloat128-software and -mfloat128-none to > be a binary switch, -mfloat128 and -mno-float128. It also provides some of > the > basic setup for IEEE types. It also removes code I had put in a previous > patch > that doesn't allow IFmode/KFmode to go in any register if -mno-float128 (this > causes some reload problems). > > I have built the compiler with this patch and subpatch #1 installed. I have > built the compiler with all 16 subpatches and had no regressions. Is this > patch ok to install in the trunk? > > 2015-10-22 Michael Meissner <meiss...@linux.vnet.ibm.com> > > * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none > and -mfloat128-software switches. Replace them with a binary > -mfloat128 switch. > (-mfloat128): Likewise. > > * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow > 128-bit floating point types in GPRs, even if the appropriate > option enabling the type was not used. > (rs6000_debug_reg_global): Remove -mfloat128-{software,none} > debugging. > (rs6000_setup_reg_addr_masks): Do not allow pre-increment and > pre-decrement on IEEE 128-bit floating point values. > (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode > is IEEE 128-bit floating point. > (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE > 128-bit floating point types that can go in vector registers. > (rs6000_option_override_internal): Change -mfloat128-none and > -mfloat128-software to -mfloat128, and move code to be near other > VSX option handling. > (rs6000_option_override_internal): Disable -mfloat128 if we don't > have the Altivec ABI. > (rs6000_init_builtins): Don't make TFmode use either IFmode or > KFmode floating point nodes. Instead, have three separate nodes. > (rs6000_scalar_mode_supported_p): Add support for IFmode to allow > eventually moving the long double default to IEEE 128-bit floating > point. > (rs6000_opt_masks): Add -mfloat128. > (struct rs6000_opt_var): Fix typo in comment. > > * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as > an option that can be turned on via -mcpu=<xxx>. > > * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no > longer used.
Okay. Thanks, David