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

Reply via email to