[PATCH] rs6000, restrict bfloat convert intrinsic to Power 10. Fix BU_P10V macro definitions.

Carl Love cel@us.ibm.com
Mon Aug 17 18:25:36 GMT 2020


Bill:

On Mon, 2020-08-17 at 13:09 -0500, Bill Schmidt wrote:
> > 
> > There are three prototypes __builtin_cfuged, __builtin_pdepd,
> > __builtin_pextd defined in the document.
> > 
> > The corresponding builtin definitions in  GCC are:
> > 
> >     __builtin_altivec_cfuged, __builtin_altivec_pdepd,
> > __builtin_altivec_pextd
> > 
> > which does not match the defined prototype in the document.
> 
> 
> These are scalar instructions, not vector, so they should not be
> using 
> any flavor of "V".  They should be using BU_P10_MISC_n, where n is
> the 
> number of arguments.

Yes, looks like that is those are the scalar versions.  I got them
mixed up with the vector definitions

   vector unsigned long long int vec_pdep()
   vector unsigned long long int vec_pext ()
   vector unsigned long long int vec_cfuge ()

I was thinking the __builtin_name() was also referring to the vector
versions.

So, given that there are separate definitions, it does appear that the
names are all consistent with the documentation.  Thanks Bill.

                Carl



More information about the Gcc-patches mailing list