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.