On Tue, Apr 11, 2023 at 05:40:09PM +0800, Kewen.Lin wrote:
> on 2023/4/11 17:14, guojiufu wrote:
> > Thanks for raising this concern.
> > The behavior to check about bif on FLOAT128_HW and emit an error message for
> > requirements on quad-precision is added in gcc12. This is why gcc12 fails to
> > compile the case on -m32.
> > 
> > Before gcc12, altivec_resolve_overloaded_builtin will return the overloaded
> > result directly, and does not check more about the result function.
> 
> Thanks for checking, I wonder which commit caused this behavior change and 
> what's
> the underlying justification?  I know there is one new bif handling framework
> introduced in gcc12, not sure the checking condition was changed together or 
> by
> a standalone commit.  Anyway, apparently the conditions for the support of 
> these
> bifs are different on gcc-11 and gcc-12, I wonder why it changed.  As 
> mentioned
> above, PR108758's c#1 said this case (bifs) work well on gcc-11, I suspected 
> the
> condition change was an overkill, that's why I asked.

It almost certainly was an oversight.  The new builtin framework changed
so many things, there was bound to be some breakage to go with all the
good things it brought.

So what is the actual thing going wrong?  QP insns work fine and are
valid on all systems and environments, BE or LE, 32-bit or 64-bit.  Of
course you cannot use the "long double" type for those everywhere, but
that is a very different thing.


Segher

Reply via email to