E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches
Named Shuffles

Detailed Description

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.