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]

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

◆ _mm_add_p() [2/3]

static __m128 _mm_add_p ( __m128  A,
__m128  B 
)
inlinestatic

References A, and B.

◆ _mm_add_p() [3/3]

static __m128d _mm_add_p ( __m128d  A,
__m128d  B 
)
inlinestatic

References A, and B.

◆ _mm_load1_p() [1/3]

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

◆ _mm_load1_p() [2/3]

static __m128 _mm_load1_p ( float const *  ptr)
inlinestatic

◆ _mm_load1_p() [3/3]

static __m128d _mm_load1_p ( double const *  ptr)
inlinestatic

◆ _mm_load_p() [1/3]

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

◆ _mm_load_p() [2/3]

static __m128 _mm_load_p ( float const *  ptr)
inlinestatic

◆ _mm_load_p() [3/3]

static __m128d _mm_load_p ( double const *  ptr)
inlinestatic

◆ _mm_mul_p() [1/3]

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

◆ _mm_mul_p() [2/3]

static __m128 _mm_mul_p ( __m128  A,
__m128  B 
)
inlinestatic

References A, and B.

◆ _mm_mul_p() [3/3]

static __m128d _mm_mul_p ( __m128d  A,
__m128d  B 
)
inlinestatic

References A, and B.

◆ _mm_set1_p() [1/3]

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

◆ _mm_set1_p() [2/3]

static __m128 _mm_set1_p ( float const  val)
inlinestatic

◆ _mm_set1_p() [3/3]

static __m128d _mm_set1_p ( double const  val)
inlinestatic

◆ _mm_store_p() [1/3]

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

◆ _mm_store_p() [2/3]

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

References A.

◆ _mm_store_p() [3/3]

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

References A.

◆ _mm_xor_p() [1/3]

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

◆ _mm_xor_p() [2/3]

static __m128 _mm_xor_p ( __m128  A,
__m128  B 
)
inlinestatic

References A, and B.

◆ _mm_xor_p() [3/3]

static __m128d _mm_xor_p ( __m128d  A,
__m128d  B 
)
inlinestatic

References A, and B.