On 12/18/18 4:33 AM, Ulrich Weigand wrote: > Bill Schmidt wrote: > >> +@item >> +When using vector in keyword-and-predefine mode; for example, >> + >> +@smallexample >> +/* With -maltivec only: */ > This is a bit confusing (at least to me). What does "with -maltivec only" > mean here? Just adding -maltivec will *not* switch to keyword-and- > predefine mode, as far as I can tell. Rather, to switch to that mode > you'll have to disable GNU extensions, e.g. via -std=c11, and then > include <altivec.h> to get the predefine. > > Bye, > Ulrich > Sorry about that. Here's another try, also verified on powerpc64le-linux-gnu. Is this ok?
Thanks, Bill 2018-12-18 Bill Schmidt <wschm...@linux.ibm.com> * doc/extend.texi (PowerPC Altivec/VSX Built-in Functions): Describe when a typedef name can be used as the type specifier for a vector type, and when it cannot. Index: gcc/doc/extend.texi =================================================================== --- gcc/doc/extend.texi (revision 265974) +++ gcc/doc/extend.texi (working copy) @@ -16229,9 +16229,32 @@ disabled. To use them, you must include @code{<al @item GCC allows using a @code{typedef} name as the type specifier for a -vector type. +vector type, but only under the following circumstances: +@itemize @bullet + @item +When using @code{__vector} instead of @code{vector}; for example, + +@smallexample +typedef signed short int16; +__vector int16 data; +@end smallexample + +@item +When using @code{vector} in keyword-and-predefine mode; for example, + +@smallexample +typedef signed short int16; +vector int16 data; +@end smallexample + +Note that keyword-and-predefine mode is enabled by disabling GNU +extensions (e.g., by using @code{-std=c11}) and including +@code{<altivec.h>}. +@end itemize + +@item For C, overloaded functions are implemented with macros so the following does not work: