Shuffle the elements of a vector register within lanes using indices and return the result in a new register.
- Template Parameters
-
| t_indices | A set of indices equal to the number of register elements or the number of lane elements. In the latter case the permutation pattern is identical for all lanes. The N-th index selects the value for the N-th element/lane element. Index values may not exceed the lane size of a register. Otherwise a compile-time error is triggered. |
| T_RegisterType | The register type |
- Parameters
-
| [in] | src | The source register |
- Returns
- New register with shuffled values
- Todo:
- assert that the 8 indices for the __m256 case do not exceed number of lane elements. Maybe write a generalized function for integer based parameter packs