12 #include <mrpt/config.h> 15 #if MRPT_ARCH_INTEL_COMPATIBLE 18 #include <emmintrin.h> 24 #if MRPT_ARCH_INTEL_COMPATIBLE 27 #include <pmmintrin.h> 28 #include <tmmintrin.h> 30 #include <immintrin.h> 36 #if defined(__SSE4_2__) || defined(__SSE4_1__) 37 #include <smmintrin.h> 41 #if MRPT_ARCH_INTEL_COMPATIBLE 42 template <
bool ALIGNED>
43 __m128i mm_load_si128(__m128i
const* ptr);
46 inline __m128i mm_load_si128<true>(__m128i
const* ptr)
48 return _mm_load_si128(ptr);
52 inline __m128i mm_load_si128<false>(__m128i
const* ptr)
54 return _mm_loadu_si128(ptr);
58 template <
int k,
typename T>
59 bool is_multiple(
const T
val)
61 return (
val & (k - 1)) == 0;