|
The result is obtained by shifting the entire 128 bits of arg1 right or left by the number of bits specified in the least significant three bits of arg2. Bits shifted out are replaced by zeroes for both signed and unsigned types.
CAUTION: The three bits used for the shift value must be replicated in each byte of arg2 or the results of the shift are unpredictable. This may be done using vec_splat / vec_vspltb:
arg2 = vec_vspltb( arg2, 15 );
|
arg1 |
arg2 |
|
|
|
||||
vector unsigned char |
vector unsigned char |
vector unsigned char |
|
|
vector unsigned char |
vector unsigned char |
vector unsigned short |
|
|
vector unsigned char |
vector unsigned char |
vector unsigned long |
|
|
vector signed char |
vector signed char |
vector unsigned char |
|
|
vector signed char |
vector signed char |
vector unsigned short |
|
|
vector signed char |
vector signed char |
vector unsigned long |
|
|
vector bool char |
vector bool char |
vector unsigned char |
|
|
vector bool char |
vector bool char |
vector unsigned short |
|
|
vector bool char |
vector bool char |
vector unsigned long |
|
|
vector unsigned short |
vector unsigned short |
vector unsigned char |
|
|
vector unsigned short |
vector unsigned short |
vector unsigned short |
|
|
vector unsigned short |
vector unsigned short |
vector unsigned long |
|
|
vector signed short |
vector signed short |
vector unsigned char |
|
|
vector signed short |
vector signed short |
vector unsigned short |
|
|
vector signed short |
vector signed short |
vector unsigned long |
|
|
vector bool short |
vector bool short |
vector unsigned char |
|
|
vector bool short |
vector bool short |
vector unsigned short |
|
|
vector bool short |
vector bool short |
vector unsigned long |
|
|
vector pixel |
vector pixel |
vector unsigned char |
|
|
vector pixel |
vector pixel |
vector unsigned short |
|
|
vector pixel |
vector pixel |
vector unsigned long |
|
|
vector unsigned long |
vector unsigned long |
vector unsigned char |
|
|
vector unsigned long |
vector unsigned long |
vector unsigned short |
|
|
vector unsigned long |
vector unsigned long |
vector unsigned long |
|
|
vector signed long |
vector signed long |
vector unsigned char |
|
|
vector signed long |
vector signed long |
vector unsigned short |
|
|
vector signed long |
vector signed long |
vector unsigned long |
|
|
vector bool long |
vector bool long |
vector unsigned char |
|
|
vector bool long |
vector bool long |
vector unsigned short |
|
|
vector bool long |
vector bool long |
vector unsigned long |
|
|