This documentation is archived and is not being maintained.


Microsoft Specific

The __m128i data type, for use with the Streaming SIMD Extensions 2 (SSE2) instructions intrinsics, is defined as follows:

// data_types__m128i.cpp
typedef union __declspec(intrin_type) __declspec(align(16)) __m128i {
   __int8 m128i_i8[16];
   __int16 m128i_i16[8];
   __int32 m128i_i32[4];
   __int64 m128i_i64[2];
   unsigned __int8 m128i_u8[16];
   unsigned __int16 m128i_u16[8];
   unsigned __int32 m128i_u32[4];
   unsigned __int64 m128i_u64[2];
} __m128i;

int main()

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.

END Microsoft Specific

See Also

C++ Keywords | Fundamental Types | Data Type Ranges