VEC_XL(ARG1, ARG2)

Purpose

Loads a 16-byte vector from the memory address specified by the displacement ARG1 and the pointer ARG2.

Note: This function requires the POWER7® or higher architecture.

Class

Pure function

Argument type and attributes

ARG1
An INTENT(IN) integer
ARG2
An INTENT(IN) variable of any of the following types:
  • REAL(4) or REAL(8)
  • INTEGER(1), INTEGER(2), INTEGER(4), or INTEGER(8)
  • Vector

Result type and attributes

If ARG2 is a vector, the result is of the same type as ARG2; otherwise, the result is a vector of the ARG2 type.

Result value

VEC_XL adds the displacement provided by ARG1 to the address provided by ARG2 to obtain the effective address for the load operation. It does not truncate the effective address to a multiple of 16 bytes.

This function loads the result from a specific number of elements at the effective address for the load operation. The number and the size of elements vary based on the data type of argument ARG2. For details about the function result value, see the following table.

Table 1. Function result value
Data type of ARG2 Function result value
INTEGER(1) Loads the result from 16 one-byte elements.
INTEGER(2) Loads the result from 8 two-byte elements.
INTEGER(4) or REAL(4) Loads the result from four 4-byte elements.
INTEGER(8) or REAL(8) Loads the result from two 8-byte elements.
VECTOR Loads the result from corresponding elements.

The order of elements in the function result is different on little endian systems.



Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us