E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches
SIMD Specific Operations

Detailed Description

Proper SIMD operations as shuffling, splitting and merging SIMD vectors

Variables

constexpr auto eve::broadcast = functor<broadcast_t>
 Computes the.
 
constexpr auto eve::combine = functor<combine_t>
 Combines two SIMD values in a larger one.
 
constexpr auto eve::gather = functor<gather_t>
 Load a SIMD value with values selected from a memory region at the given offsets.
 
constexpr auto eve::has_equal_in = functor<has_equal_in_t>
 Given two simd_values: x, match_against returns a logical mask. The res[i] == eve::any(x[i] == match_against);.
 
constexpr auto eve::iterate_selected = functor<iterate_selected_t>
 a utility to do scalar iteration over all true elements in a logical.
 
constexpr auto eve::scan = functor<scan_t>
 Computes the generalized prefix sum over a simd value.
 
constexpr auto eve::scatter = functor<scatter_t>
 Store a SIMD register to memory using scattered indexes.
 
constexpr auto eve::sort = functor<sort_t>
 sorts a register in a accedning order accroding to a comparator.
 
constexpr auto eve::zip = functor<zip_t>
 Callable for SoA value constructions.