This documentation is archived and is not being maintained.


Microsoft Specific

Emits the Streaming SIMD Extensions 4 (SSE4) instruction movntdqa. This instruction loads data from a specified address.

__m128i _mm_stream_load_si128( 
   __m128i *p

[in] p

A pointer to a 128-bit location, the content of which will be loaded.

A 128-bit value that contains the data at the specified memory location. The result is expressed by the following equation:

r := *p




x86, x64

Header file <smmintrin.h>

The memory source must be 16-byte aligned because the return value consists of sixteen bytes.

Before you use this intrinsic, software must ensure that the processor supports the instruction.

#include <stdio.h>
#include <smmintrin.h>

int main ()
    __m128i p;

    p.m128i_u32[0] = 0x01234567;
    p.m128i_i32[1] = 0x89ABCDEF;
    p.m128i_u32[2] = 0xFFEEDDCC;
    p.m128i_u32[3] = 0xBBAA9988;

    __m128i res = _mm_stream_load_si128(&p);

    printf_s("Original p:\t0x%08X\t0x%08X\t0x%08X\t0x%08X\n",
                p.m128i_u32[0], p.m128i_u32[1], 
                p.m128i_u32[2], p.m128i_u32[3]);
    printf_s("Result res:\t0x%08X\t0x%08X\t0x%08X\t0x%08X\n",
                res.m128i_u32[0], res.m128i_u32[1],
                res.m128i_u32[2], res.m128i_u32[3]);

    return 0;
Original p: 0x01234567 0x89ABCDEF 0xFFEEDDCC 0xBBAA9988 Result res: 0x01234567 0x89ABCDEF 0xFFEEDDCC 0xBBAA9988