Functions that are just shuffles with a different api.
Variables | |
constexpr auto | eve::blend = detail::named_shuffle_2<blend_t> {} |
a named shuffle for mixing 2 registers together, without changing positions. | |
constexpr auto | eve::broadcast_lane = detail::named_shuffle_1<broadcast_lane_t> {} |
a named shuffle for duplicating the lane across a register. | |
constexpr auto | eve::reverse = detail::named_shuffle_1<reverse_t> {} |
a named shuffle for reversing a register. | |
constexpr auto | eve::reverse_in_subgroups = detail::named_shuffle_1<reverse_in_subgroups_t> {} |
a named shuffle for reversing all subgroups in a register | |
constexpr auto | eve::swap_adjacent = detail::named_shuffle_1<swap_adjacent_t> {} |
a named shuffle that goes all pairs of elements and swaps them: [0, 1, 2, 3] => [1, 0, 3, 2] | |
constexpr callable_slide_left_ | eve::slide_left = {} |
a named shuffles for sliding two simd values together and selecting one register. Common names for this would also include "shift", "extract". Second value can be ommitted for an implicit zero. | |