On Fri, Sep 24, 2021 at 11:20 AM Bill Schmidt <wschm...@linux.ibm.com> wrote:
>
> Hi!
>
> This fixes a bug reported in 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101985.
>
> The vec_cpsgn built-in function API differs in argument order from the
> copysign<mode>3 convention.  Currently that pattern is incorrectly used to
> implement vec_cpsgn.  Fix that while leaving the existing pattern in place
> to implement copysignf for vector modes.

It's a little confusing what "that" is.  Maybe clarify that the patch
is changing the PowerPC VSX function to invoke the GCC built-in with
the argument in the correct order.

>
> Part of the fix when using the new built-in support requires an adjustment
> to a pending patch that replaces much of altivec.h with an automatically
> generated file.  So that adjustment will be coming later...
>
> Also fix a bug in the new built-in overload infrastructure where we were
> using the VSX form of the VEC_COPYSIGN built-in when we should default to
> the VMX form.
>
> Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions.
> Is this okay for trunk?
>
> Thanks!
> Bill
>
>
> 2021-09-24  Bill Schmidt  <wschm...@linux.ibm.com>
>
> gcc/
>         PR target/101985
>         * config/rs6000/altivec.h (vec_cpsgn): Adjust.

Maybe a little more information than "Adjust"?  Swap arguments?

>         * config/rs6000/rs6000-overload.def (VEC_COPYSIGN): Use SKIP to
>         avoid generating an automatic #define of vec_cpsgn.  Use the
>         correct built-in for V4SFmode that doesn't depend on VSX.
>
> gcc/testsuite/
>         PR target/101985
>         * gcc.target/powerpc/pr101985.c: New.

Okay.

Thanks, David

Reply via email to