6 #ifndef HPP_SIMDUTILS_H 7 #define HPP_SIMDUTILS_H 10 #include "emmintrin.h" 11 #include "smmintrin.h" 15 #define _mm256_set_m128i(hi, lo) _mm256_insertf128_si256(_mm256_castsi128_si256(lo), (hi), 1) 16 #define _mm256_set_m128(hi, lo) _mm256_insertf128_ps(_mm256_castps128_ps256(lo), (hi), 1) 17 #define _mm256_loadu2_m128d(hi, lo) _mm256_insertf128_pd(_mm256_castpd128_pd256(_mm_loadu_pd(lo)), _mm_loadu_pd(hi), 1); 21 inline __m128 _mm128_loadu2_m64(
float const *hiaddr,
float const *loaddr) {
22 #pragma GCC diagnostic push 23 #pragma GCC diagnostic ignored "-Wuninitialized" 25 val = _mm_loadl_pi(val, (__m64*)loaddr);
26 val = _mm_loadh_pi(val, (__m64*)hiaddr);
28 #pragma GCC diagnostic pop 33 inline __m256 _mm256_loadu4_m64(
float const *p3,
float const *p2,
float const *p1,
float const *p0){
34 return _mm256_set_m128(_mm128_loadu2_m64(p3, p2), _mm128_loadu2_m64(p1, p0));
#define _mm256_set_m128(hi, lo)
Definition: simdUtils.h:16