Expression Templates Library (ETL)
Classes | Namespaces | Typedefs | Functions | Variables
vectorization.hpp File Reference

Contains vectorization utilities for the vectorized assignments (done by the evaluator). More...

#include <immintrin.h>
#include "etl/inline.hpp"
#include "etl/avx512_vectorization.hpp"
#include "etl/avx_vectorization.hpp"
#include "etl/sse_vectorization.hpp"
#include "etl/no_vectorization.hpp"
Include dependency graph for vectorization.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  etl::simd_pack< V, T, VT >
 SIMD pack of some type, using a vector implementation type. More...
 
struct  etl::get_intrinsic_traits< V >
 Traits to get the intrinsic traits for a vector mode. More...
 
struct  etl::get_vector_impl< V >
 Traits to get the vector implementation for a vector mode. More...
 

Namespaces

 etl
 Root namespace for the ETL library.
 

Typedefs

using etl::default_vec = no_vec
 The default vectorization scheme.
 
template<typename T >
using etl::default_intrinsic_traits = no_intrinsic_traits< T >
 The default intrinsic traits.
 
template<typename T >
using etl::default_intrinsic_type = typename default_intrinsic_traits< T >::intrinsic_type
 Helper to get the intrinsic corresponding type of a vectorizable type.
 

Functions

constexpr etl::ETL_STRONG_INLINE (size_t) prev_multiple(size_t N
 

Variables

constexpr size_t etl::size
 

Detailed Description

Contains vectorization utilities for the vectorized assignments (done by the evaluator).

This file automatically includes the correct header based on which vectorization utility is supported (AVX -> SSE -> NONE).