On 10/6/21 12:50 PM, Segher Boessenkool wrote:
> So we have three options (well, four):
> 
> 0) Do nothing.  We will stay in this hell forever.  Not my choice :-)
> 1) Use a soft-float-like parameter passing everywhere.  This works but
>    will be horridly slow on newer systems.  We can do better than that.
> 2) Use the current setup where -mcpu=power8 (or later) makes QP float
>    available.  Most BE stuff isn't compiled with that currently, and it
>    will split our ecosystem.
> 3) As Joseph reminds me the high VSRs are the VRs, so we could use the
>    same parameter passing on anything with AltiVec.  We could even
>    simply require -maltivec for QP float to be supported (we currently
>    require -mvsx, this would not be a restriction).
> 
> I think I like 3) :-)

I like 3 too, meaning requiring -maltivec to support IEEE QP at all.
This would cover POWER6 and later server CPUs, as well as some other
cpus like in the Power Macs.  

Anything without Altivec hardware would need to either not support
IEEE QP at all, or go through the work themselves of coming up with
a -msoft-altivec like ABI.

Peter

Reply via email to