From: Aldy Hernandez Date: Tue, 25 Jun 2002 21:29:41 +0000 (+0000) Subject: extend.texi (PowerPC AltiVec Built-in Functions): Document discrepancies from motorol... X-Git-Tag: releases/gcc-3.3.0~4103 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=90989b26757083f6c83df8e34a237afabd7f2eaa;p=thirdparty%2Fgcc.git extend.texi (PowerPC AltiVec Built-in Functions): Document discrepancies from motorola's documentation. 2002-06-24 Aldy Hernandez * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document discrepancies from motorola's documentation. From-SVN: r54997 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 735d56ff0024..255c3a63dc26 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-06-25 Aldy Hernandez + + * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document + discrepancies from motorola's documentation. + Tue Jun 25 21:51:13 2002 J"orn Rennecke * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 37451c47f5fe..be4906783609 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -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{} 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