Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


The __m128i data type, for use with the Streaming SIMD Extensions 2 (SSE2) instructions intrinsics, is defined in emmintrin.h.

// data_types__m128i.cpp
#include <emmintrin.h>
int main() {
   __m128i x;

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.


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.

The __m128i data type is not supported on Itanium Processor Family (IPF) processors.

END Microsoft Specific

© 2016 Microsoft