On Wed, Oct 06, 2021 at 11:59:37AM -0500, Segher Boessenkool wrote:
> On Wed, Oct 06, 2021 at 06:34:33PM +0200, Jakub Jelinek wrote:
> > On Wed, Oct 06, 2021 at 11:07:30AM -0500, Segher Boessenkool wrote:
> > > We can emulate it everywhere (using libquadmath for example). This can
> > > magically make -msoft-float work as well everywhere, btw.
> >
> > Emulation is one thing, but another one is where are those __float128 or
> > quad long double arguments and return values passed. On power8 le I think
> > they are passed in VSX registers, aren't they?
>
> On BE just as well. And on 32 bit.
>
> > But are those available everywhere where ppc64 is supported? For ppc32
> > certainly not, I don't remember for ppc64.
>
> You can use VSX registers on 32 bit just fine.
With -mvsx (or perhaps even -maltivec) sure, but if neither VSX nor Altivec
ISA is there...
And having the ABI for long double dependent on whether one uses
-mvsx/-maltivec or not is a non-started. For generic vectors it is
something we decided to be acceptable...
Jakub