]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
extend.texi (PowerPC AltiVec Built-in Functions): Document discrepancies from motorol...
authorAldy Hernandez <aldyh@redhat.com>
Tue, 25 Jun 2002 21:29:41 +0000 (21:29 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Tue, 25 Jun 2002 21:29:41 +0000 (21:29 +0000)
2002-06-24  Aldy Hernandez  <aldyh@redhat.com>

        * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
        discrepancies from motorola's documentation.

From-SVN: r54997

gcc/ChangeLog
gcc/doc/extend.texi

index 735d56ff00247f68d4a6bf44c603715ccbe886f9..255c3a63dc265fb6b874ae5180a45227c54008d1 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-25  Aldy Hernandez  <aldyh@redhat.com>
+
+        * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+        discrepancies from motorola's documentation.
+
 Tue Jun 25 21:51:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
        * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
index 37451c47f5fefb8df0f63c65e453bb2ccf0726aa..be49067836094a10b828e138cae12c309c3084cd 100644 (file)
@@ -5111,6 +5111,25 @@ The following functions are made available by including
 @option{-mabi=altivec}.  The functions implement the functionality
 described in Motorola's AltiVec Programming Interface Manual.
 
+There are a few differences from Motorola's documentation and GCC's
+implementation.  Vector constants are done with curly braces (not
+parentheses).  Vector initializers require no casts if the vector
+constant is of the same type as the variable it is initializing.  The
+@code{vector bool} type is deprecated and will be discontinued in
+further revisions.  Use @code{vector signed} instead.  If @code{signed}
+or @code{unsigned} is omitted, the vector type will default to
+@{signed}.  Lastly, all overloaded functions are implemented with macros
+for the C implementation.  So code the following example will not work:
+
+@smallexample
+  vec_add ((vector signed int){1, 2, 3, 4}, foo);
+@end smallexample
+
+Since vec_add is a macro, the vector constant in the above example will
+be treated as four different arguments.  Wrap the entire argument in
+parentheses for this to work.  The C++ implementation does not use
+macros.
+
 @emph{Note:} Only the @code{<altivec.h>} interface is supported.
 Internally, GCC uses built-in functions to achieve the functionality in
 the aforementioned header file, but they are not supported and are