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.
| 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.