* [PATCH], Update __FLOAT128_HARDWARE__ on power9
@ 2017-10-20 21:06 Michael Meissner
2017-10-25 23:57 ` Segher Boessenkool
0 siblings, 1 reply; 3+ messages in thread
From: Michael Meissner @ 2017-10-20 21:06 UTC (permalink / raw)
To: GCC Patches, Segher Boessenkool, David Edelsohn, Bill Schmidt
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 <meissner@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 <meissner@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: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH], Update __FLOAT128_HARDWARE__ on power9
2017-10-20 21:06 [PATCH], Update __FLOAT128_HARDWARE__ on power9 Michael Meissner
@ 2017-10-25 23:57 ` Segher Boessenkool
2017-10-26 0:11 ` Michael Meissner
0 siblings, 1 reply; 3+ messages in thread
From: Segher Boessenkool @ 2017-10-25 23:57 UTC (permalink / raw)
To: Michael Meissner, GCC Patches, David Edelsohn, Bill Schmidt
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?
Segher
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH], Update __FLOAT128_HARDWARE__ on power9
2017-10-25 23:57 ` Segher Boessenkool
@ 2017-10-26 0:11 ` Michael Meissner
0 siblings, 0 replies; 3+ messages in thread
From: Michael Meissner @ 2017-10-26 0:11 UTC (permalink / raw)
To: Segher Boessenkool
Cc: Michael Meissner, GCC Patches, David Edelsohn, Bill Schmidt
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: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-10-26 0:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-20 21:06 [PATCH], Update __FLOAT128_HARDWARE__ on power9 Michael Meissner
2017-10-25 23:57 ` Segher Boessenkool
2017-10-26 0:11 ` Michael Meissner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).