Loading [MathJax]/extensions/tex2jax.js
E.V.E
v2023.02.15
 
All Classes Namespaces Functions Variables Typedefs Enumerations Friends Modules Pages Concepts
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.
 
constexpr callable_broadcast_group_ eve::broadcast_group = {}
 Computes the TODO.
 
constexpr callable_deinterleave_groups_shuffle_ eve::deinterleave_groups_shuffle = {}
 Callable object for a deinterleave groups shuffle.
 
constexpr splat_type const eve::splat = {}
 Computes the TODO.