--- description: "Learn more about: __m128i" title: "__m128i" ms.date: "11/04/2016" f1_keywords: ["__m128i_cpp"] helpviewer_keywords: ["__m128i keyword [C++]"] ms.assetid: bd245d68-862c-46dd-9903-6c67c7c5dbcd --- # __m128i **Microsoft Specific** The **`__m128i`** data type, for use with the Streaming SIMD Extensions 2 (SSE2) instructions intrinsics, is defined in \. ```cpp // data_types__m128i.cpp #include int main() { __m128i x; } ``` ## Remarks 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. > [!NOTE] > 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 ARM processors. **END Microsoft Specific** ## See also [Keywords](../cpp/keywords-cpp.md)
[Built-in types](../cpp/fundamental-types-cpp.md)
[Data Type Ranges](../cpp/data-type-ranges.md)