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