On Wed, Oct 25, 2017 at 06:56:20PM -0500, Segher Boessenkool wrote: > On Fri, Oct 20, 2017 at 04:56:41PM -0400, Michael Meissner wrote: > > 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 don't think this is such a great macro name for this purpose. > > What problem does this solve?
The problem was the GLIBC maintainers asked for some way to determine that the compiler supports fast FMA and SQRT built-ins that generate the XSFMADDQP and XSSQRTQP instructions on ISA 3.0. Unfortunately, they can't just check the version number being >= 8 because the patch might be back ported to older versions of GCC (specificaly the Advance Toolchain 11.0-n). At the time, I was struggling with getting the the machine independent support for FMA, SQRT, etc. using _Float<N> and _Float<N>X types done in the machine independent portion of the compiler. It looks like that is converging, so assuming I get the approval to check it in, the GLIBC team will be able to check whether __FP_FAST_FMAF128 is defined to do the same check. In that case, I was going to suggest disregarding this patch. -- 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