__m128i
The __m128i
data type, for use with the Streaming SIMD Extensions 2 (SSE2) instructions intrinsics, is defined in <emmintrin.h>.
eg:
/usr/local/gcc-9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/emmintrin.h
// data_types__m128i.cpp
#include <emmintrin.h>
int main() {
__m128i x;
}
Remarks
Using variables of type __m128i
will cause the compiler to generate the SSE2 movdqa
instruction. This instruction does not cause a fault on Pentium III processors but will result in silent failure, with possible side effects caused by whatever instructions movdqa
translates into on Pentium III processors.
You should not access the
__m128i
fields directly. You can, however, see these types in the debugger.A variable of type
__m128i
maps to the XMM[0-7] registers.Variables of type
__m128i
are automatically aligned on 16-byte boundaries.The
__m128i
data type is not supported on ARM processors.