Commit 90989b26 by Aldy Hernandez Committed by Aldy Hernandez

extend.texi (PowerPC AltiVec Built-in Functions): Document discrepancies from…

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

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
parent 9881adff
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> 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 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
......
...@@ -5111,6 +5111,25 @@ The following functions are made available by including ...@@ -5111,6 +5111,25 @@ The following functions are made available by including
@option{-mabi=altivec}. The functions implement the functionality @option{-mabi=altivec}. The functions implement the functionality
described in Motorola's AltiVec Programming Interface Manual. 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. @emph{Note:} Only the @code{<altivec.h>} interface is supported.
Internally, GCC uses built-in functions to achieve the functionality in Internally, GCC uses built-in functions to achieve the functionality in
the aforementioned header file, but they are not supported and are the aforementioned header file, but they are not supported and are
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment