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:
 

Reply via email to