29 #include <emmintrin.h> 31 #include <pmmintrin.h> 37 template<
typename Treal,
typename Treg>
38 inline static Treg
_mm_load_p (Treal
const * ptr);
41 return _mm_load_ps (ptr);
45 return _mm_load_pd (ptr);
49 template<
typename Treal,
typename Treg>
53 return _mm_load1_ps (ptr);
58 return _mm_load1_pd (ptr);
62 template<
typename Treal,
typename Treg>
63 inline static Treg
_mm_set1_p (Treal
const val);
66 return _mm_set1_ps (val);
71 return _mm_set1_pd (val);
76 template<
typename Treal,
typename Treg>
80 _mm_store_ps (ptr, A);
84 _mm_store_pd (ptr, A);
90 template<
typename Treg>
94 return _mm_add_ps(A, B);
98 return _mm_add_pd(A, B);
104 template<
typename Treg>
108 return _mm_mul_ps(A, B);
112 return _mm_mul_pd(A, B);
117 template<
typename Treg>
121 return _mm_xor_ps(A, B);
125 return _mm_xor_pd(A, B);
static void _mm_store_p(Treal *ptr, Treg A)
static Treg _mm_add_p(Treg A, Treg B)
static Treg _mm_xor_p(Treg A, Treg B)
static Treg _mm_load1_p(Treal const *ptr)
static Treg _mm_mul_p(Treg A, Treg B)
static Treg _mm_set1_p(Treal const val)
static Treg _mm_load_p(Treal const *ptr)