ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
ROOT::Vc::SSE Namespace Reference

Namespaces

 Internal
 

Classes

struct  StaticCastHelper
 
struct  StaticCastHelper< float, int >
 
struct  StaticCastHelper< double, int >
 
struct  StaticCastHelper< int, int >
 
struct  StaticCastHelper< unsigned int, int >
 
struct  StaticCastHelper< float, unsigned int >
 
struct  StaticCastHelper< double, unsigned int >
 
struct  StaticCastHelper< int, unsigned int >
 
struct  StaticCastHelper< unsigned int, unsigned int >
 
struct  StaticCastHelper< float, float >
 
struct  StaticCastHelper< double, float >
 
struct  StaticCastHelper< int, float >
 
struct  StaticCastHelper< unsigned int, float >
 
struct  StaticCastHelper< float, double >
 
struct  StaticCastHelper< double, double >
 
struct  StaticCastHelper< int, double >
 
struct  StaticCastHelper< unsigned int, double >
 
struct  StaticCastHelper< unsigned short, float8 >
 
struct  StaticCastHelper< short, float8 >
 
struct  StaticCastHelper< float8, short >
 
struct  StaticCastHelper< float8, unsigned short >
 
struct  StaticCastHelper< float, short >
 
struct  StaticCastHelper< short, short >
 
struct  StaticCastHelper< unsigned short, short >
 
struct  StaticCastHelper< float, unsigned short >
 
struct  StaticCastHelper< short, unsigned short >
 
struct  StaticCastHelper< unsigned short, unsigned short >
 
class  Vector
 
struct  Const
 
struct  c_general
 
struct  c_trig
 
struct  c_log
 
struct  c_log< double >
 
class  DebugStream
 
struct  MaskHelper
 
struct  MaskHelper< 2 >
 
struct  MaskHelper< 4 >
 
struct  MaskHelper< 8 >
 
class  Mask
 
struct  ForeachHelper
 
class  Float8Mask
 
class  Float8GatherMask
 
class  WriteMaskedVector
 
class  M256
 
struct  ParameterHelper
 
struct  VectorHelper
 
struct  IndexTypeHelper
 
struct  IndexTypeHelper< 2u >
 
struct  IndexTypeHelper< 4u >
 
struct  IndexTypeHelper< 8u >
 
struct  IndexTypeHelper< 16u >
 
struct  CtorTypeHelper
 
struct  CtorTypeHelper< short >
 
struct  CtorTypeHelper< unsigned short >
 
struct  CtorTypeHelper< float >
 
struct  ExpandTypeHelper
 
struct  ExpandTypeHelper< short >
 
struct  ExpandTypeHelper< unsigned short >
 
struct  ExpandTypeHelper< float >
 
struct  VectorTypeHelper
 
struct  VectorTypeHelper< double >
 
struct  VectorTypeHelper< float >
 
struct  VectorTypeHelper< sfloat >
 
struct  DetermineMask
 
struct  DetermineMask< sfloat, 8 >
 
struct  DetermineGatherMask
 
struct  DetermineGatherMask< Float8Mask >
 
struct  VectorTraits
 
struct  VectorHelperSize
 
class  SwizzledVector
 
struct  SortHelper
 
struct  SortHelper< M256, Size >
 
struct  VectorHelper< M256 >
 
struct  VectorHelper< _M128 >
 
struct  VectorHelper< _M128D >
 
struct  VectorHelper< _M128I >
 
struct  VectorHelper< double >
 
struct  VectorHelper< float >
 
struct  VectorHelper< float8 >
 
struct  VectorHelper< int >
 
struct  VectorHelper< unsigned int >
 
struct  VectorHelper< signed short >
 
struct  VectorHelper< unsigned short >
 

Typedefs

typedef long _long
 
typedef unsigned long _ulong
 
typedef Vc::sfloat float8
 
typedef Vector< doubledouble_v
 
typedef Vector< float > float_v
 
typedef Vector< float8sfloat_v
 
typedef Vector< int > int_v
 
typedef Vector< unsigned int > uint_v
 
typedef Vector< short > short_v
 
typedef Vector< unsigned short > ushort_v
 
typedef double_v::Mask double_m
 
typedef float_v::Mask float_m
 
typedef sfloat_v::Mask sfloat_m
 
typedef int_v::Mask int_m
 
typedef uint_v::Mask uint_m
 
typedef short_v::Mask short_m
 
typedef ushort_v::Mask ushort_m
 

Enumerations

enum  VectorAlignmentEnum { VectorAlignment = 16 }
 

Functions

template<typename To , typename From >
static Vc_ALWAYS_INLINE To Vc_CONST mm128_reinterpret_cast (VC_ALIGNED_PARAMETER(From) v)
 
template<>
Vc_ALWAYS_INLINE _M128I Vc_CONST mm128_reinterpret_cast< _M128I, _M128 > (VC_ALIGNED_PARAMETER(_M128) v)
 
template<>
Vc_ALWAYS_INLINE _M128I Vc_CONST mm128_reinterpret_cast< _M128I, _M128D > (VC_ALIGNED_PARAMETER(_M128D) v)
 
template<>
Vc_ALWAYS_INLINE _M128 Vc_CONST mm128_reinterpret_cast< _M128, _M128D > (VC_ALIGNED_PARAMETER(_M128D) v)
 
template<>
Vc_ALWAYS_INLINE _M128 Vc_CONST mm128_reinterpret_cast< _M128, _M128I > (VC_ALIGNED_PARAMETER(_M128I) v)
 
template<>
Vc_ALWAYS_INLINE _M128D Vc_CONST mm128_reinterpret_cast< _M128D, _M128I > (VC_ALIGNED_PARAMETER(_M128I) v)
 
template<>
Vc_ALWAYS_INLINE _M128D Vc_CONST mm128_reinterpret_cast< _M128D, _M128 > (VC_ALIGNED_PARAMETER(_M128) v)
 
template<typename To , typename From >
static Vc_ALWAYS_INLINE To Vc_CONST sse_cast (VC_ALIGNED_PARAMETER(From) v)
 
 ALIGN (16) extern const unsigned int _IndexesFromZero4[4]
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setallone ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setallone_si128 ()
 
static Vc_INTRINSIC __m128d
Vc_CONST 
_mm_setallone_pd ()
 
static Vc_INTRINSIC __m128 Vc_CONST _mm_setallone_ps ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setone_epi8 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setone_epu8 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setone_epi16 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setone_epu16 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setone_epi32 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setone_epu32 ()
 
static Vc_INTRINSIC __m128 Vc_CONST _mm_setone_ps ()
 
static Vc_INTRINSIC __m128d
Vc_CONST 
_mm_setone_pd ()
 
static Vc_INTRINSIC __m128d
Vc_CONST 
_mm_setabsmask_pd ()
 
static Vc_INTRINSIC __m128 Vc_CONST _mm_setabsmask_ps ()
 
static Vc_INTRINSIC __m128d
Vc_CONST 
_mm_setsignmask_pd ()
 
static Vc_INTRINSIC __m128 Vc_CONST _mm_setsignmask_ps ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setmin_epi16 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_setmin_epi32 ()
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_cmplt_epu16 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_cmpgt_epu16 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_cmplt_epu32 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
_mm_cmpgt_epu32 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_abs_epi8 (__m128i a)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_abs_epi16 (__m128i a)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_abs_epi32 (__m128i a)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
set1_epi8 (int a)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_alignr_epi8 (__m128i a, __m128i b, const int s)
 
static Vc_INTRINSIC __m128d mm_blendv_pd (__m128d a, __m128d b, __m128d c)
 
static Vc_INTRINSIC __m128 mm_blendv_ps (__m128 a, __m128 b, __m128 c)
 
static Vc_INTRINSIC __m128i mm_blendv_epi8 (__m128i a, __m128i b, __m128i c)
 
static Vc_INTRINSIC __m128d mm_blend_pd (__m128d a, __m128d b, const int mask)
 
static Vc_INTRINSIC __m128 mm_blend_ps (__m128 a, __m128 b, const int mask)
 
static Vc_INTRINSIC __m128i mm_blend_epi16 (__m128i a, __m128i b, const int mask)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_max_epi8 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_max_epi32 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_max_epu16 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_max_epu32 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_min_epu16 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_min_epu32 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_min_epi8 (__m128i a, __m128i b)
 
static Vc_INTRINSIC __m128i
Vc_CONST 
mm_min_epi32 (__m128i a, __m128i b)
 
static Vc_INTRINSIC Vc_CONST
__m128i 
mm_cvtepu8_epi16 (__m128i epu8)
 
static Vc_INTRINSIC Vc_CONST
__m128i 
mm_cvtepi8_epi16 (__m128i epi8)
 
static Vc_INTRINSIC Vc_CONST
__m128i 
mm_cvtepu16_epi32 (__m128i epu16)
 
static Vc_INTRINSIC Vc_CONST
__m128i 
mm_cvtepi16_epi32 (__m128i epu16)
 
static Vc_INTRINSIC Vc_CONST
__m128i 
mm_cvtepu8_epi32 (__m128i epu8)
 
static Vc_INTRINSIC Vc_CONST
__m128i 
mm_cvtepi8_epi32 (__m128i epi8)
 
static Vc_INTRINSIC Vc_PURE __m128i mm_stream_load_si128 (__m128i *mem)
 
static Vc_INTRINSIC Vc_CONST float extract_float_imm (const __m128 v, const size_t i)
 
static Vc_INTRINSIC Vc_CONST double extract_double_imm (const __m128d v, const size_t i)
 
static Vc_INTRINSIC Vc_CONST float extract_float (const __m128 v, const size_t i)
 
static Vc_INTRINSIC Vc_PURE __m128 _mm_stream_load (const float *mem)
 
static Vc_INTRINSIC Vc_PURE __m128d _mm_stream_load (const double *mem)
 
static Vc_INTRINSIC Vc_PURE __m128i _mm_stream_load (const int *mem)
 
static Vc_INTRINSIC Vc_PURE __m128i _mm_stream_load (const unsigned int *mem)
 
static Vc_INTRINSIC Vc_PURE __m128i _mm_stream_load (const short *mem)
 
static Vc_INTRINSIC Vc_PURE __m128i _mm_stream_load (const unsigned short *mem)
 
static Vc_INTRINSIC Vc_PURE __m128i _mm_stream_load (const signed char *mem)
 
static Vc_INTRINSIC Vc_PURE __m128i _mm_stream_load (const unsigned char *mem)
 
template<unsigned int LSize, unsigned int RSize>
Mask< LSize > operator& (const Mask< LSize > &lhs, const Mask< RSize > &rhs)
 Loop over all set bits in the mask. More...
 
template<unsigned int LSize, unsigned int RSize>
Mask< LSize > operator| (const Mask< LSize > &lhs, const Mask< RSize > &rhs)
 
template<unsigned int LSize, unsigned int RSize>
Mask< LSize > operator^ (const Mask< LSize > &lhs, const Mask< RSize > &rhs)
 
template<unsigned int Size>
void operator& (const Mask< Size > &lhs, const Float8Mask &rhs)
 
template<unsigned int Size>
void operator| (const Mask< Size > &lhs, const Float8Mask &rhs)
 
template<unsigned int Size>
void operator^ (const Mask< Size > &lhs, const Float8Mask &rhs)
 
template<unsigned int Size>
void operator& (const Float8Mask &rhs, const Mask< Size > &lhs)
 
template<unsigned int Size>
void operator| (const Float8Mask &rhs, const Mask< Size > &lhs)
 
template<unsigned int Size>
void operator^ (const Float8Mask &rhs, const Mask< Size > &lhs)
 
template<unsigned int LSize, unsigned int RSize>
void operator&& (const Mask< LSize > &lhs, const Mask< RSize > &rhs)
 
template<unsigned int LSize, unsigned int RSize>
void operator|| (const Mask< LSize > &lhs, const Mask< RSize > &rhs)
 
template<unsigned int Size>
void operator&& (const Mask< Size > &lhs, const Float8Mask &rhs)
 
template<unsigned int Size>
void operator|| (const Mask< Size > &lhs, const Float8Mask &rhs)
 
template<unsigned int Size>
void operator&& (const Float8Mask &rhs, const Mask< Size > &lhs)
 
template<unsigned int Size>
void operator|| (const Float8Mask &rhs, const Mask< Size > &lhs)
 
template<unsigned int Size>
Vc_ALWAYS_INLINE Vc_PURE Mask
< Size > 
operator&& (const Mask< Size > &lhs, const Mask< Size > &rhs)
 
template<unsigned int Size>
Vc_ALWAYS_INLINE Vc_PURE Mask
< Size > 
operator|| (const Mask< Size > &lhs, const Mask< Size > &rhs)
 
Vc_ALWAYS_INLINE Vc_PURE Mask< 8 > operator&& (const Float8Mask &rhs, const Mask< 8 > &lhs)
 
Vc_ALWAYS_INLINE Vc_PURE Mask< 8 > operator|| (const Float8Mask &rhs, const Mask< 8 > &lhs)
 
Vc_ALWAYS_INLINE Vc_PURE Mask< 8 > operator&& (const Mask< 8 > &rhs, const Float8Mask &lhs)
 
Vc_ALWAYS_INLINE Vc_PURE Mask< 8 > operator|| (const Mask< 8 > &rhs, const Float8Mask &lhs)
 
double_v frexp (const double_v &v, int_v *e)
 splits v into exponent and mantissa, the sign is kept with the mantissa More...
 
float_v frexp (const float_v &v, int_v *e)
 
sfloat_v frexp (const sfloat_v &v, short_v *e)
 
double_v ldexp (double_v::AsArg v, int_v::AsArg _e)
 
static void floor_shift (float_v &v, float_v::AsArg e)
 
static void floor_shift (sfloat_v &v, sfloat_v::AsArg e)
 
static void floor_shift (double_v &v, double_v::AsArg e)
 
template<typename T >
Vector< Ttrunc (VC_ALIGNED_PARAMETER(Vector< T >) _v)
 
template<typename T >
Vector< Tfloor (VC_ALIGNED_PARAMETER(Vector< T >) _v)
 
template<typename T >
Vector< Tceil (VC_ALIGNED_PARAMETER(Vector< T >) _v)
 
template<typename V = Vector<float>>
class STRUCT_ALIGN1 (16) VectorAlignedBaseT
 
 STRUCT_ALIGN2 (16)
 
static Vc_ALWAYS_INLINE
Vc_PURE int_v 
min (const int_v &x, const int_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE uint_v 
min (const uint_v &x, const uint_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE ushort_v 
min (const ushort_v &x, const ushort_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE float_v 
min (const float_v &x, const float_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE double_v 
min (const double_v &x, const double_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE int_v 
max (const int_v &x, const int_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE uint_v 
max (const uint_v &x, const uint_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE ushort_v 
max (const ushort_v &x, const ushort_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE float_v 
max (const float_v &x, const float_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE double_v 
max (const double_v &x, const double_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE sfloat_v 
min (const sfloat_v &x, const sfloat_v &y)
 
static Vc_ALWAYS_INLINE
Vc_PURE sfloat_v 
max (const sfloat_v &x, const sfloat_v &y)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T
sqrt (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T
rsqrt (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T
abs (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T
reciprocal (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T
round (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T >::Mask 
isfinite (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE
Vc_PURE Vector< T >::Mask 
isnan (const Vector< T > &x)
 
 V_ALIGN (64) const int c_general
 
 V_ALIGN (16) const unsigned int c_general = { 0, 1, 2, 3, 4, 5, 6, 7 }
 

Typedef Documentation

typedef long ROOT::Vc::SSE::_long

Definition at line 43 of file types.h.

typedef unsigned long ROOT::Vc::SSE::_ulong

Definition at line 52 of file types.h.

Definition at line 487 of file vector.h.

Definition at line 480 of file vector.h.

Definition at line 58 of file types.h.

Definition at line 488 of file vector.h.

Definition at line 481 of file vector.h.

Definition at line 490 of file vector.h.

Definition at line 483 of file vector.h.

Definition at line 489 of file vector.h.

Definition at line 482 of file vector.h.

Definition at line 492 of file vector.h.

Definition at line 485 of file vector.h.

Definition at line 491 of file vector.h.

typedef Vector<unsigned int> ROOT::Vc::SSE::uint_v

Definition at line 484 of file vector.h.

Definition at line 493 of file vector.h.

typedef Vector<unsigned short> ROOT::Vc::SSE::ushort_v

Definition at line 486 of file vector.h.

Enumeration Type Documentation

Enumerator
VectorAlignment 

Definition at line 55 of file intrinsics.h.

Function Documentation

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_cmpgt_epu16 ( __m128i  a,
__m128i  b 
)
static
static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_cmpgt_epu32 ( __m128i  a,
__m128i  b 
)
static
static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_cmplt_epu16 ( __m128i  a,
__m128i  b 
)
static

Definition at line 109 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< unsigned short >::cmplt().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_cmplt_epu32 ( __m128i  a,
__m128i  b 
)
static

Definition at line 113 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< unsigned int >::cmplt().

static Vc_INTRINSIC __m128d Vc_CONST ROOT::Vc::SSE::_mm_setabsmask_pd ( )
static

Definition at line 96 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< double >::abs().

static Vc_INTRINSIC __m128 Vc_CONST ROOT::Vc::SSE::_mm_setabsmask_ps ( )
static

Definition at line 97 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< float >::abs().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setallone ( )
static

Definition at line 80 of file intrinsics.h.

Referenced by _mm_setallone_pd(), _mm_setallone_ps(), and _mm_setallone_si128().

static Vc_INTRINSIC __m128d Vc_CONST ROOT::Vc::SSE::_mm_setallone_pd ( )
static

Definition at line 83 of file intrinsics.h.

static Vc_INTRINSIC __m128 Vc_CONST ROOT::Vc::SSE::_mm_setallone_ps ( )
static
static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setallone_si128 ( )
static
static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setmin_epi16 ( )
static

Definition at line 102 of file intrinsics.h.

Referenced by _mm_cmpgt_epu16(), and _mm_cmplt_epu16().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setmin_epi32 ( )
static

Definition at line 103 of file intrinsics.h.

Referenced by _mm_cmpgt_epu32(), and _mm_cmplt_epu32().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setone_epi16 ( )
static

Definition at line 88 of file intrinsics.h.

Referenced by _mm_setone_epu16().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setone_epi32 ( )
static

Definition at line 90 of file intrinsics.h.

Referenced by _mm_setone_epu32().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setone_epi8 ( )
static

Definition at line 86 of file intrinsics.h.

Referenced by _mm_setone_epu8(), and mm_abs_epi8().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setone_epu16 ( )
static

Definition at line 89 of file intrinsics.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setone_epu32 ( )
static

Definition at line 91 of file intrinsics.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::_mm_setone_epu8 ( )
static

Definition at line 87 of file intrinsics.h.

static Vc_INTRINSIC __m128d Vc_CONST ROOT::Vc::SSE::_mm_setone_pd ( )
static

Definition at line 94 of file intrinsics.h.

static Vc_INTRINSIC __m128 Vc_CONST ROOT::Vc::SSE::_mm_setone_ps ( )
static

Definition at line 93 of file intrinsics.h.

static Vc_INTRINSIC __m128d Vc_CONST ROOT::Vc::SSE::_mm_setsignmask_pd ( )
static

Definition at line 98 of file intrinsics.h.

static Vc_INTRINSIC __m128 Vc_CONST ROOT::Vc::SSE::_mm_setsignmask_ps ( )
static

Definition at line 99 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128 ROOT::Vc::SSE::_mm_stream_load ( const float *  mem)
static

Definition at line 552 of file intrinsics.h.

Referenced by _mm_stream_load().

static Vc_INTRINSIC Vc_PURE __m128d ROOT::Vc::SSE::_mm_stream_load ( const double mem)
static

Definition at line 559 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::_mm_stream_load ( const int *  mem)
static

Definition at line 566 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::_mm_stream_load ( const unsigned int *  mem)
static

Definition at line 573 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::_mm_stream_load ( const short *  mem)
static

Definition at line 576 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::_mm_stream_load ( const unsigned short *  mem)
static

Definition at line 579 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::_mm_stream_load ( const signed char *  mem)
static

Definition at line 582 of file intrinsics.h.

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::_mm_stream_load ( const unsigned char *  mem)
static

Definition at line 585 of file intrinsics.h.

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T> ROOT::Vc::SSE::abs ( const Vector< T > &  x)
static
ROOT::Vc::SSE::ALIGN ( 16  ) const
template<typename T >
Vector<T> ROOT::Vc::SSE::ceil ( VC_ALIGNED_PARAMETER(Vector< T >)  _v)
inline

Definition at line 186 of file math.h.

static Vc_INTRINSIC Vc_CONST double ROOT::Vc::SSE::extract_double_imm ( const __m128d  v,
const size_t  i 
)
static

Definition at line 524 of file intrinsics.h.

static Vc_INTRINSIC Vc_CONST float ROOT::Vc::SSE::extract_float ( const __m128  v,
const size_t  i 
)
static

Definition at line 530 of file intrinsics.h.

static Vc_INTRINSIC Vc_CONST float ROOT::Vc::SSE::extract_float_imm ( const __m128  v,
const size_t  i 
)
static

Definition at line 495 of file intrinsics.h.

Referenced by extract_float().

template<typename T >
Vector<T> ROOT::Vc::SSE::floor ( VC_ALIGNED_PARAMETER(Vector< T >)  _v)
inline

Definition at line 168 of file math.h.

static void ROOT::Vc::SSE::floor_shift ( float_v &  v,
float_v::AsArg  e 
)
inlinestatic

Definition at line 117 of file math.h.

Referenced by ceil(), floor(), and trunc().

static void ROOT::Vc::SSE::floor_shift ( sfloat_v &  v,
sfloat_v::AsArg  e 
)
inlinestatic

Definition at line 125 of file math.h.

static void ROOT::Vc::SSE::floor_shift ( double_v &  v,
double_v::AsArg  e 
)
inlinestatic

Definition at line 136 of file math.h.

double_v ROOT::Vc::SSE::frexp ( const double_v &  v,
int_v *  e 
)
inline

splits v into exponent and mantissa, the sign is kept with the mantissa

The return value will be in the range [0.5, 1.0[ The e value will be an integer defining the power-of-two exponent

Definition at line 37 of file math.h.

float_v ROOT::Vc::SSE::frexp ( const float_v &  v,
int_v *  e 
)
inline

Definition at line 48 of file math.h.

sfloat_v ROOT::Vc::SSE::frexp ( const sfloat_v &  v,
short_v *  e 
)
inline

Definition at line 58 of file math.h.

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T>::Mask ROOT::Vc::SSE::isfinite ( const Vector< T > &  x)
static

Definition at line 528 of file vector.h.

Referenced by frexp().

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T>::Mask ROOT::Vc::SSE::isnan ( const Vector< T > &  x)
static

Definition at line 529 of file vector.h.

Referenced by frexp().

sfloat_v ROOT::Vc::SSE::ldexp ( double_v::AsArg  v,
int_v::AsArg  _e 
)
inline

Definition at line 80 of file math.h.

static Vc_ALWAYS_INLINE Vc_PURE short_v ROOT::Vc::SSE::max ( const int_v &  x,
const int_v &  y 
)
static
static Vc_ALWAYS_INLINE Vc_PURE uint_v ROOT::Vc::SSE::max ( const uint_v &  x,
const uint_v &  y 
)
static

Definition at line 509 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE ushort_v ROOT::Vc::SSE::max ( const ushort_v &  x,
const ushort_v &  y 
)
static

Definition at line 511 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE float_v ROOT::Vc::SSE::max ( const float_v &  x,
const float_v &  y 
)
static

Definition at line 512 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE double_v ROOT::Vc::SSE::max ( const double_v &  x,
const double_v &  y 
)
static

Definition at line 513 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE sfloat_v ROOT::Vc::SSE::max ( const sfloat_v &  x,
const sfloat_v &  y 
)
static

Definition at line 518 of file vector.h.

Referenced by ROOT::Vc::AVX::Vector< T >::max(), and ROOT::Vc::SSE::Vector< T >::max().

static Vc_ALWAYS_INLINE Vc_PURE short_v ROOT::Vc::SSE::min ( const int_v &  x,
const int_v &  y 
)
static
static Vc_ALWAYS_INLINE Vc_PURE uint_v ROOT::Vc::SSE::min ( const uint_v &  x,
const uint_v &  y 
)
static

Definition at line 503 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE ushort_v ROOT::Vc::SSE::min ( const ushort_v &  x,
const ushort_v &  y 
)
static

Definition at line 505 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE float_v ROOT::Vc::SSE::min ( const float_v &  x,
const float_v &  y 
)
static

Definition at line 506 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE double_v ROOT::Vc::SSE::min ( const double_v &  x,
const double_v &  y 
)
static

Definition at line 507 of file vector.h.

static Vc_ALWAYS_INLINE Vc_PURE sfloat_v ROOT::Vc::SSE::min ( const sfloat_v &  x,
const sfloat_v &  y 
)
static

Definition at line 515 of file vector.h.

Referenced by ROOT::Vc::AVX::Vector< T >::min(), and ROOT::Vc::SSE::Vector< T >::min().

template<typename To , typename From >
static Vc_ALWAYS_INLINE To Vc_CONST ROOT::Vc::SSE::mm128_reinterpret_cast ( VC_ALIGNED_PARAMETER(From)  v)
static

Definition at line 34 of file casts.h.

Definition at line 35 of file casts.h.

Definition at line 37 of file casts.h.

Definition at line 36 of file casts.h.

Definition at line 32 of file casts.h.

Definition at line 33 of file casts.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_abs_epi16 ( __m128i  a)
static

Definition at line 175 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< signed short >::abs().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_abs_epi32 ( __m128i  a)
static

Definition at line 179 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< int >::abs().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_abs_epi8 ( __m128i  a)
static

Definition at line 161 of file intrinsics.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_alignr_epi8 ( __m128i  a,
__m128i  b,
const int  s 
)
static

Definition at line 186 of file intrinsics.h.

static Vc_INTRINSIC __m128i ROOT::Vc::SSE::mm_blend_epi16 ( __m128i  a,
__m128i  b,
const int  mask 
)
static

Definition at line 360 of file intrinsics.h.

static Vc_INTRINSIC __m128d ROOT::Vc::SSE::mm_blend_pd ( __m128d  a,
__m128d  b,
const int  mask 
)
static

Definition at line 288 of file intrinsics.h.

static Vc_INTRINSIC __m128 ROOT::Vc::SSE::mm_blend_ps ( __m128  a,
__m128  b,
const int  mask 
)
static

Definition at line 303 of file intrinsics.h.

static Vc_INTRINSIC __m128i ROOT::Vc::SSE::mm_blendv_epi8 ( __m128i  a,
__m128i  b,
__m128i  c 
)
static
static Vc_INTRINSIC __m128d ROOT::Vc::SSE::mm_blendv_pd ( __m128d  a,
__m128d  b,
__m128d  c 
)
static

Definition at line 276 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< double >::fma().

static Vc_INTRINSIC __m128 ROOT::Vc::SSE::mm_blendv_ps ( __m128  a,
__m128  b,
__m128  c 
)
static
static Vc_INTRINSIC Vc_CONST __m128i ROOT::Vc::SSE::mm_cvtepi16_epi32 ( __m128i  epu16)
static

Definition at line 459 of file intrinsics.h.

static Vc_INTRINSIC Vc_CONST __m128i ROOT::Vc::SSE::mm_cvtepi8_epi16 ( __m128i  epi8)
static

Definition at line 453 of file intrinsics.h.

static Vc_INTRINSIC Vc_CONST __m128i ROOT::Vc::SSE::mm_cvtepi8_epi32 ( __m128i  epi8)
static

Definition at line 465 of file intrinsics.h.

static Vc_INTRINSIC Vc_CONST __m128i ROOT::Vc::SSE::mm_cvtepu16_epi32 ( __m128i  epu16)
static

Definition at line 456 of file intrinsics.h.

Referenced by mm_cvtepu8_epi32().

static Vc_INTRINSIC Vc_CONST __m128i ROOT::Vc::SSE::mm_cvtepu8_epi16 ( __m128i  epu8)
static

Definition at line 450 of file intrinsics.h.

Referenced by mm_cvtepu8_epi32().

static Vc_INTRINSIC Vc_CONST __m128i ROOT::Vc::SSE::mm_cvtepu8_epi32 ( __m128i  epu8)
static

Definition at line 462 of file intrinsics.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_max_epi32 ( __m128i  a,
__m128i  b 
)
static

Definition at line 423 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< int >::max(), and max().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_max_epi8 ( __m128i  a,
__m128i  b 
)
static

Definition at line 420 of file intrinsics.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_max_epu16 ( __m128i  a,
__m128i  b 
)
static

Definition at line 429 of file intrinsics.h.

Referenced by max().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_max_epu32 ( __m128i  a,
__m128i  b 
)
static

Definition at line 432 of file intrinsics.h.

Referenced by max(), and ROOT::Vc::SSE::VectorHelper< unsigned int >::max().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_min_epi32 ( __m128i  a,
__m128i  b 
)
static

Definition at line 447 of file intrinsics.h.

Referenced by ROOT::Vc::SSE::VectorHelper< int >::min(), and min().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_min_epi8 ( __m128i  a,
__m128i  b 
)
static

Definition at line 444 of file intrinsics.h.

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_min_epu16 ( __m128i  a,
__m128i  b 
)
static

Definition at line 438 of file intrinsics.h.

Referenced by min().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::mm_min_epu32 ( __m128i  a,
__m128i  b 
)
static

Definition at line 441 of file intrinsics.h.

Referenced by min(), and ROOT::Vc::SSE::VectorHelper< unsigned int >::min().

static Vc_INTRINSIC Vc_PURE __m128i ROOT::Vc::SSE::mm_stream_load_si128 ( __m128i *  mem)
static

Definition at line 470 of file intrinsics.h.

template<unsigned int LSize, unsigned int RSize>
Mask<LSize> ROOT::Vc::SSE::operator& ( const Mask< LSize > &  lhs,
const Mask< RSize > &  rhs 
)

Loop over all set bits in the mask.

The iterator variable will be set to the position of the set bits. A mask of e.g. 00011010 would result in the loop being called with the iterator being set to 1, 3, and 4.

This allows you to write:

float_v a = ...;
foreach_bit(int i, a < 0.f) {
std::cout << a[i] << "\n";
}

The example prints all the values in a that are negative, and only those.

Parameters
itThe iterator variable. For example "int i".
maskThe mask to iterate over. You can also just write a vector operation that returns a mask.

Definition at line 544 of file mask.h.

template<unsigned int Size>
void ROOT::Vc::SSE::operator& ( const Mask< Size > &  lhs,
const Float8Mask &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator& ( const Float8Mask &  rhs,
const Mask< Size > &  lhs 
)
template<unsigned int LSize, unsigned int RSize>
void ROOT::Vc::SSE::operator&& ( const Mask< LSize > &  lhs,
const Mask< RSize > &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator&& ( const Mask< Size > &  lhs,
const Float8Mask &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator&& ( const Float8Mask &  rhs,
const Mask< Size > &  lhs 
)
template<unsigned int Size>
Vc_ALWAYS_INLINE Vc_PURE Mask<Size> ROOT::Vc::SSE::operator&& ( const Mask< Size > &  lhs,
const Mask< Size > &  rhs 
)

Definition at line 565 of file mask.h.

Vc_ALWAYS_INLINE Vc_PURE Mask<8> ROOT::Vc::SSE::operator&& ( const Float8Mask &  rhs,
const Mask< 8 > &  lhs 
)

Definition at line 567 of file mask.h.

Vc_ALWAYS_INLINE Vc_PURE Mask<8> ROOT::Vc::SSE::operator&& ( const Mask< 8 > &  rhs,
const Float8Mask &  lhs 
)

Definition at line 569 of file mask.h.

template<unsigned int LSize, unsigned int RSize>
Mask<LSize> ROOT::Vc::SSE::operator^ ( const Mask< LSize > &  lhs,
const Mask< RSize > &  rhs 
)

Definition at line 546 of file mask.h.

template<unsigned int Size>
void ROOT::Vc::SSE::operator^ ( const Mask< Size > &  lhs,
const Float8Mask &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator^ ( const Float8Mask &  rhs,
const Mask< Size > &  lhs 
)
template<unsigned int LSize, unsigned int RSize>
Mask<LSize> ROOT::Vc::SSE::operator| ( const Mask< LSize > &  lhs,
const Mask< RSize > &  rhs 
)

Definition at line 545 of file mask.h.

template<unsigned int Size>
void ROOT::Vc::SSE::operator| ( const Mask< Size > &  lhs,
const Float8Mask &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator| ( const Float8Mask &  rhs,
const Mask< Size > &  lhs 
)
template<unsigned int LSize, unsigned int RSize>
void ROOT::Vc::SSE::operator|| ( const Mask< LSize > &  lhs,
const Mask< RSize > &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator|| ( const Mask< Size > &  lhs,
const Float8Mask &  rhs 
)
template<unsigned int Size>
void ROOT::Vc::SSE::operator|| ( const Float8Mask &  rhs,
const Mask< Size > &  lhs 
)
template<unsigned int Size>
Vc_ALWAYS_INLINE Vc_PURE Mask<Size> ROOT::Vc::SSE::operator|| ( const Mask< Size > &  lhs,
const Mask< Size > &  rhs 
)

Definition at line 566 of file mask.h.

Vc_ALWAYS_INLINE Vc_PURE Mask<8> ROOT::Vc::SSE::operator|| ( const Float8Mask &  rhs,
const Mask< 8 > &  lhs 
)

Definition at line 568 of file mask.h.

Vc_ALWAYS_INLINE Vc_PURE Mask<8> ROOT::Vc::SSE::operator|| ( const Mask< 8 > &  rhs,
const Float8Mask &  lhs 
)

Definition at line 570 of file mask.h.

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T> ROOT::Vc::SSE::reciprocal ( const Vector< T > &  x)
static

Definition at line 525 of file vector.h.

Referenced by ROOT::Vc::AVX::reciprocal().

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T> ROOT::Vc::SSE::round ( const Vector< T > &  x)
static

Definition at line 526 of file vector.h.

Referenced by ROOT::Vc::AVX::round().

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T> ROOT::Vc::SSE::rsqrt ( const Vector< T > &  x)
static

Definition at line 523 of file vector.h.

Referenced by ROOT::Vc::AVX::rsqrt().

static Vc_INTRINSIC __m128i Vc_CONST ROOT::Vc::SSE::set1_epi8 ( int  a)
static

Definition at line 183 of file intrinsics.h.

template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector<T> ROOT::Vc::SSE::sqrt ( const Vector< T > &  x)
static

Definition at line 522 of file vector.h.

Referenced by ROOT::Vc::SSE::VectorHelper< double >::OP().

template<typename To , typename From >
static Vc_ALWAYS_INLINE To Vc_CONST ROOT::Vc::SSE::sse_cast ( VC_ALIGNED_PARAMETER(From)  v)
static

Definition at line 38 of file casts.h.

template<typename V = Vector<float>>
class ROOT::Vc::SSE::STRUCT_ALIGN1 ( 16  )

Definition at line 151 of file types.h.

ROOT::Vc::SSE::STRUCT_ALIGN2 ( 16  )
template<typename T >
Vector<T> ROOT::Vc::SSE::trunc ( VC_ALIGNED_PARAMETER(Vector< T >)  _v)
inline

Definition at line 150 of file math.h.

Referenced by ROOT::Vc::Scalar::trunc().

ROOT::Vc::SSE::V_ALIGN ( 64  ) const

Definition at line 257 of file const.cpp.

ROOT::Vc::SSE::V_ALIGN ( 16  ) const = { 0, 1, 2, 3, 4, 5, 6, 7 }

Definition at line 258 of file const.cpp.