Vector built-in functions

Individual elements of vectors can be accessed by using the Vector Multimedia eXtension (VMX) or the Vector Scalar eXtension (VSX) built-in functions. This section provides an alphabetical reference to the VMX and the VSX built-in functions. You can use these functions to manipulate vectors.

You must specify appropriate compiler options for your architecture when you use the built-in functions. Built-in functions that use or return a vector unsigned long long, vector signed long long, vector bool long long, or vector double type require an architecture that supports the VSX instruction set extensions, such as POWER7®. You must specify -qarch=pwr7 when you use these types.

This section uses pseudocode description to represent function syntax, as shown below:

d=func_name(a, b, c)
In the description,

For example, the syntax for the function vector double vec_xld2(int, double*); is represented by d=vec_xld2(a, b).

Note: This section only describes the IBM specific vector built-in functions and the AltiVec built-in functions with IBM extensions. For information about the other AltiVec built-in functions, see the AltiVec Application Programming Interface specification.