Shuffling operations
From libsimdpp-docs
The following shuffle operations are provided.
Shuffling |
|
blends two vectors according to a mask (function template) |
|
sets all elements to a specific element within vector (function template) |
|
permutes pairs of elements within vector (function template) |
|
permutes quadruples of elements within vector (function template) |
|
shuffles two vectors at two-element granularity (function template) |
|
shuffles two vectors at four-element granularity (function template) |
|
transposes 2x2 blocks within two vectors (function template) |
|
transposes 4x4 blocks within four vectors (function template) |
|
Combining and splitting |
|
combines two vectors into a vector twice as wide (function template) |
|
splits a vector into two vectors half as wide (function template) |
|
Shuffling (128 bit granularity) |
|
exctracts a vector from two concatenated vectors (function template) |
|
moves elements in the vector to the left (function template) |
|
moves elements in the vector to the right (function template) |
|
sets all elements in each group of elements to n-th element in that group (function template) |
|
interleaves higher halves of two vectors (function template) |
|
interleaves lower halves of two vectors (function template) |
|
de-interleaves odd(high) elements of two vectors (function template) |
|
de-interleaves even(lower) elements of two vectors (function template) |
|
creates a shuffle mask for shuffle_bytes16 or permute_bytes16 (function template) |
|
selects elements from two vectors according to another vector (function template) |
|
selects or zeroes elements from two vectors according to another vector (function template) |
|
permutes elements in a vector according to another vector (function template) |
|
permutes or zeroes elements in a vector according to another vector (function template) |