[PATCH,rs600] Add built-in function support for compare bytes instruction

Segher Boessenkool segher@kernel.crashing.org
Fri Apr 28 23:32:00 GMT 2017


Hi Kelvin,

On Fri, Apr 28, 2017 at 11:48:03AM -0600, Kelvin Nilsen wrote:
> --- gcc/config/rs6000/rs6000.h	(revision 247069)
> +++ gcc/config/rs6000/rs6000.h	(working copy)
> @@ -2717,6 +2717,7 @@ extern int frame_pointer_needed;
>     aren't in target_flags.  */
>  #define RS6000_BTM_ALWAYS	0		/* Always enabled.  */
>  #define RS6000_BTM_ALTIVEC	MASK_ALTIVEC	/* VMX/altivec vectors.  */
> +#define RS6000_BTM_CMPB		MASK_CMPB	/* ISA 2.05: cmopare bytes.  */

Typo ("compare").  And line too long?

> --- gcc/doc/extend.texi	(revision 247069)
> +++ gcc/doc/extend.texi	(working copy)
> @@ -15107,6 +15107,22 @@ Similar to @code{__builtin_nans}, except the retur
>  @end table
>  
>  The following built-in functions are available for the PowerPC family
> +of processors, starting with ISA 2.05 or later (@option{-mcpu=power6}
> +or @option{-mcmpb}):
> +@smallexample
> +long long __builtin_cmpb (long long, long long);
> +int __builtin_cmpb_32 (int, int);
> +@end smallexample

Is __builtin_cmpb_32 required by the ABI?  If not, why do we need it,
can't __builtin_cmpb simply do the SI version if its arguments do not
need bigger?

[ We talked about this elsewhere, but for the record :-) ].


Segher



More information about the Gcc-patches mailing list