Shuffling operations
From cppreference.com
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) |
|