ergo
g_intrin.h File Reference

Templates for convenient access to intrinsic instructions. More...

#include <emmintrin.h>

Go to the source code of this file.

Functions

template<typename Treal, typename Treg>
static Treg _mm_load_p (Treal const *ptr)
 
static __m128 _mm_load_p (float const *ptr)
 
static __m128d _mm_load_p (double const *ptr)
 
template<typename Treal, typename Treg>
static Treg _mm_load1_p (Treal const *ptr)
 
static __m128 _mm_load1_p (float const *ptr)
 
static __m128d _mm_load1_p (double const *ptr)
 
template<typename Treal, typename Treg>
static Treg _mm_set1_p (Treal const val)
 
static __m128 _mm_set1_p (float const val)
 
static __m128d _mm_set1_p (double const val)
 
template<typename Treal, typename Treg>
static void _mm_store_p (Treal *ptr, Treg A)
 
static void _mm_store_p (float *ptr, __m128 A)
 
static void _mm_store_p (double *ptr, __m128d A)
 
template<typename Treg>
static Treg _mm_add_p (Treg A, Treg B)
 
static __m128 _mm_add_p (__m128 A, __m128 B)
 
static __m128d _mm_add_p (__m128d A, __m128d B)
 
template<typename Treg>
static Treg _mm_mul_p (Treg A, Treg B)
 
static __m128 _mm_mul_p (__m128 A, __m128 B)
 
static __m128d _mm_mul_p (__m128d A, __m128d B)
 
template<typename Treg>
static Treg _mm_xor_p (Treg A, Treg B)
 
static __m128 _mm_xor_p (__m128 A, __m128 B)
 
static __m128d _mm_xor_p (__m128d A, __m128d B)
 

Detailed Description

Templates for convenient access to intrinsic instructions.

Author
Emanuel H. Rubensson
Date
2009

Function Documentation

◆ _mm_add_p() [1/3]

static __m128 _mm_add_p ( __m128 A,
__m128 B )
inlinestatic

References A, and B.

◆ _mm_add_p() [2/3]

static __m128d _mm_add_p ( __m128d A,
__m128d B )
inlinestatic

References A, and B.

◆ _mm_add_p() [3/3]

template<typename Treg>
static Treg _mm_add_p ( Treg A,
Treg B )
inlinestatic

◆ _mm_load1_p() [1/3]

static __m128d _mm_load1_p ( double const * ptr)
inlinestatic

◆ _mm_load1_p() [2/3]

static __m128 _mm_load1_p ( float const * ptr)
inlinestatic

◆ _mm_load1_p() [3/3]

template<typename Treal, typename Treg>
static Treg _mm_load1_p ( Treal const * ptr)
inlinestatic

◆ _mm_load_p() [1/3]

static __m128d _mm_load_p ( double const * ptr)
inlinestatic

◆ _mm_load_p() [2/3]

static __m128 _mm_load_p ( float const * ptr)
inlinestatic

◆ _mm_load_p() [3/3]

template<typename Treal, typename Treg>
static Treg _mm_load_p ( Treal const * ptr)
inlinestatic

◆ _mm_mul_p() [1/3]

static __m128 _mm_mul_p ( __m128 A,
__m128 B )
inlinestatic

References A, and B.

◆ _mm_mul_p() [2/3]

static __m128d _mm_mul_p ( __m128d A,
__m128d B )
inlinestatic

References A, and B.

◆ _mm_mul_p() [3/3]

template<typename Treg>
static Treg _mm_mul_p ( Treg A,
Treg B )
inlinestatic

References A, and B.

Referenced by Vector_intrin< Treal, Treg >::operator*=().

◆ _mm_set1_p() [1/3]

static __m128d _mm_set1_p ( double const val)
inlinestatic

◆ _mm_set1_p() [2/3]

static __m128 _mm_set1_p ( float const val)
inlinestatic

◆ _mm_set1_p() [3/3]

template<typename Treal, typename Treg>
static Treg _mm_set1_p ( Treal const val)
inlinestatic

◆ _mm_store_p() [1/3]

static void _mm_store_p ( double * ptr,
__m128d A )
inlinestatic

References A.

◆ _mm_store_p() [2/3]

static void _mm_store_p ( float * ptr,
__m128 A )
inlinestatic

References A.

◆ _mm_store_p() [3/3]

template<typename Treal, typename Treg>
static void _mm_store_p ( Treal * ptr,
Treg A )
inlinestatic

References A.

Referenced by Vector_intrin< Treal, Treg >::store_p().

◆ _mm_xor_p() [1/3]

static __m128 _mm_xor_p ( __m128 A,
__m128 B )
inlinestatic

References A, and B.

◆ _mm_xor_p() [2/3]

static __m128d _mm_xor_p ( __m128d A,
__m128d B )
inlinestatic

References A, and B.

◆ _mm_xor_p() [3/3]

template<typename Treg>
static Treg _mm_xor_p ( Treg A,
Treg B )
inlinestatic

References A, and B.

Referenced by Vector_intrin< Treal, Treg >::set_to_zero().