vec_srdb

Purpose

Shifts a double-wide vector right by given bits and returns the rightmost 128 bits of the result.

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

Syntax

d=vec_srdb(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 signed char vector signed char vector signed char const unsigned int
vector unsigned char vector unsigned char vector unsigned char const unsigned int
vector signed short vector signed short vector signed short const unsigned int
vector unsigned short vector unsigned short vector unsigned short const unsigned int
vector signed int vector signed int vector signed int const unsigned int
vector unsigned int vector unsigned int vector unsigned int const unsigned int
vector signed long long vector signed long long vector signed long long const unsigned int
vector unsigned long long vector unsigned long long vector unsigned long long const unsigned int
Note: The value of c must be between 0 and 7, inclusive.

Result value

Let e be the concatenation of a and b, with a on the left. Let e' be e shifted right by the number of bits specified by c. Then d is set to the rightmost 128 bits of e'.