This is a simple patch to add a way that the GLIBC team call tell that certain __float128 built-in functions are available. While previous patches of mine set __FAST_FP_FMAF128, which could be used for this purpose, this macro just bumps __FLOAT128_HARDWARE__ to say that the built-in functions are available in addition to supporting the basic IEEE 128-bit floating point instructions.
I did a full bootstrap and c/c++/fortran check and there were no regressions on a little endian Power8 system. I verified that the updated test (float128-hw.c) did run. Can I check this into the trunk? [gcc] 2017-10-20 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define __FLOAT128_HARDWARE__ to be 2 if float128 built-in functions are available. * extend.texi (PowerPC Built-in Functions): Document setting __FLOAT128_HARDWARE__ to 2. [gcc/testsuite] 2017-10-20 Michael Meissner <meiss...@linux.vnet.ibm.com> * gcc.target/powerpc/float128-hw.c: Update test to include all 4 FMA variants. Add check that __float128 to float conversions use round to odd to convert it to DFmode before converting to SFmode. Add check for __FLOAT128_HARDWARE__ being at least 2. Reformat code. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797