12 #include <mrpt/config.h> 18 #include <emmintrin.h> 27 #include <pmmintrin.h> 28 #include <tmmintrin.h> 30 #include <immintrin.h> 37 #if defined(__SSE4_2__) || defined(__SSE4_1__) 38 #include <smmintrin.h> 44 template <
bool ALIGNED>
50 return _mm_load_si128(ptr);
56 return _mm_loadu_si128(ptr);
60 template <
int k,
typename T>
63 return (
val & (k - 1)) == 0;
__m128i mm_load_si128< true >(__m128i const *ptr)
__m128i mm_load_si128(__m128i const *ptr)
bool is_multiple(const T val)
Use to check for 2^N multiples is_multiple<16>(v), etc.
__m128i mm_load_si128< false >(__m128i const *ptr)