DPC++ Runtime
Runtime libraries for oneAPI DPC++
simd_obj_impl.hpp File Reference
Include dependency graph for simd_obj_impl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::ext::intel::esimd::element_aligned_tag
 element_aligned_tag type. More...
 
struct  sycl::_V1::ext::intel::esimd::vector_aligned_tag
 vector_aligned_tag type. More...
 
struct  sycl::_V1::ext::intel::esimd::overaligned_tag< N >
 overaligned_tag type. More...
 
struct  sycl::_V1::ext::intel::esimd::is_simd_flag_type< T >
 Checks if type is a simd load/store flag. More...
 
struct  sycl::_V1::ext::intel::esimd::is_simd_flag_type< element_aligned_tag >
 
struct  sycl::_V1::ext::intel::esimd::is_simd_flag_type< vector_aligned_tag >
 
struct  sycl::_V1::ext::intel::esimd::is_simd_flag_type< overaligned_tag< N > >
 
class  sycl::_V1::ext::intel::esimd::detail::simd_obj_impl< RawTy, N, Derived, SFINAE >
 This is a base class for all ESIMD simd classes with real storage (simd, simd_mask_impl). More...
 

Namespaces

 sycl
 ---— Error handling, matching OpenCL plugin semantics.
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::intel
 
 sycl::_V1::ext::intel::esimd
 
 sycl::_V1::ext::intel::esimd::detail
 

Macros

#define __ESIMD_DEF_SIMD_OBJ_IMPL_OPASSIGN(BINOP, OPASSIGN, COND)
 
#define __ESIMD_BITWISE_OP_FILTER    std::is_integral_v<element_type> &&std::is_integral_v<T1>
 
#define __ESIMD_SHIFT_OP_FILTER
 
#define __ESIMD_ARITH_OP_FILTER    __ESIMD_DNS::is_simd_type_v<Derived> &&__ESIMD_DNS::is_vectorizable_v<T1>
 

Variables

constexpr element_aligned_tag sycl::_V1::ext::intel::esimd::element_aligned = {}
 
constexpr vector_aligned_tag sycl::_V1::ext::intel::esimd::vector_aligned = {}
 
template<unsigned N>
constexpr overaligned_tag< N > sycl::_V1::ext::intel::esimd::overaligned = {}
 
template<typename T >
static constexpr bool sycl::_V1::ext::intel::esimd::is_simd_flag_type_v = is_simd_flag_type<T>::value
 Checks if given type is a simd load/store flag. More...
 

Macro Definition Documentation

◆ __ESIMD_ARITH_OP_FILTER

#define __ESIMD_ARITH_OP_FILTER    __ESIMD_DNS::is_simd_type_v<Derived> &&__ESIMD_DNS::is_vectorizable_v<T1>

Definition at line 847 of file simd_obj_impl.hpp.

◆ __ESIMD_BITWISE_OP_FILTER

#define __ESIMD_BITWISE_OP_FILTER    std::is_integral_v<element_type> &&std::is_integral_v<T1>

Definition at line 813 of file simd_obj_impl.hpp.

◆ __ESIMD_DEF_SIMD_OBJ_IMPL_OPASSIGN

#define __ESIMD_DEF_SIMD_OBJ_IMPL_OPASSIGN (   BINOP,
  OPASSIGN,
  COND 
)

Definition at line 760 of file simd_obj_impl.hpp.

◆ __ESIMD_SHIFT_OP_FILTER

#define __ESIMD_SHIFT_OP_FILTER
Value:
std::is_integral_v<element_type> &&std::is_integral_v<T1> \
&&__ESIMD_DNS::is_simd_type_v<Derived>

Definition at line 831 of file simd_obj_impl.hpp.