--- title: "__m128i | Microsoft Docs" ms.custom: "" ms.date: "11/04/2016" ms.reviewer: "" ms.suite: "" ms.technology: - "cpp-language" ms.tgt_pltfrm: "" ms.topic: "language-reference" f1_keywords: - "__m128i_cpp" - "__m128i" dev_langs: - "C++" helpviewer_keywords: - "__m128i keyword [C++]" ms.assetid: bd245d68-862c-46dd-9903-6c67c7c5dbcd caps.latest.revision: 8 author: "mikeblome" ms.author: "mblome" manager: "ghogen" translation.priority.ht: - "de-de" - "es-es" - "fr-fr" - "it-it" - "ja-jp" - "ko-kr" - "ru-ru" - "zh-cn" - "zh-tw" translation.priority.mt: - "cs-cz" - "pl-pl" - "pt-br" - "tr-tr" --- # __m128i ## Microsoft Specific 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 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) [Fundamental Types](../cpp/fundamental-types-cpp.md) [Data Type Ranges](../cpp/data-type-ranges.md)