Mjolnir Core
Core functionality of the Mjolnir API

◆ shuffle()

auto shuffle ( T_RegisterType  src_0,
T_RegisterType  src_1 
) -> T_RegisterType
inlinenoexcept

Return a register with the first half of the lane elements selected from src_0 and the second half from src_1.

Each integer of the parameter pack specifies the index of the value that should be taken from the corresponding source register. The first half of a lane is taken from the source src_0 and the second from src_1. The number of integers must be equal to the number of lane values. Therefore, the pattern is identical for each lane. The sole exception is the __m256d register. Here the pattern might differ if you provide 4 instead of 2 indices.

Template Parameters
t_indicesParameter pack of indices that specify which elements are chosen from the source registers.
T_RegisterTypeThe register type
Parameters
[in]src_0First source register
[in]src_1Second source register
Returns
New register with shuffled values