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