Segher: On Thu, 2020-08-13 at 12:36 -0500, Segher Boessenkool wrote: > Hi! > > On Tue, Aug 11, 2020 at 12:22:37PM -0700, Carl Love wrote: > > +/* Sign extend builtins that work on ISA 3.0, but not defined > > until ISA 3.1. */ > > What does this mean? Not defined in GCC before now? Does it need > backporting? Not defined in older versions of the ELFv2 ABI (or > vector > doc) and we do not want a backport? > > > + /* Sign extend builtins that work work on ISA 3.0, not added > > until ISA 3.1 */
The builtins vector signed int vec_signexti (vector signed char a) vector signed long long vec_signextll (vector signed char a) vector signed int vec_signexti (vector signed short a) vector signed long long vec_signextll (vector signed short a) vector signed long long vec_signextll (vector signed int a) were defined in the function prototypes directory in box called "RFC 2608 - 128-bit Binary Integer Operations". The document the new P10 builtins. However, this subset of the newly defined builtins for P10 can be implemented with existing Power 9 instructions. That was the point of the comment. That is probably a level of detail that is not really needed in the GCC code comment. Probably best to just change the comment to read something like "ISA 3.0 sign extend builtins". My thought for calling it out is that they could be back ported to an earlier GCC version since they use Power 9 instructions but it is probably not worth the effort unless there is an explicit request for them. Carl