vec_rlnm

Purpose

Returns a vector that contains each element of the given vector rotated left and intersected with a mask.

Note: This built-in function is valid only when the -mcpu option is set to target POWER9 processors or higher.

Syntax

d=vec_rlnm(a, b, c)

Result and argument types

The following table describes the types of the returned value and the function arguments.

Table 1. Result and argument types
d a b c
vector unsigned int vector unsigned int vector unsigned int vector unsigned int
vector unsigned long long vector unsigned long long vector unsigned long long vector unsigned long long

Result value

Each element of a is rotated left, then logically ANDed with a mask specified by b and c.

b contains the shift count for each element in the low-order byte, with other bytes zero. c contains the mask begin and mask end for each element, with the mask end in the low-order byte, the mask begin in the next higher byte, and other bytes zero.

Note: You cannot specify an all-zero mask.