_mm_stream_load_si128
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
);
Parameters
- [in] p
A pointer to a 128-bit location, the content of which will be loaded.
Result value
A 128-bit value that contains the data at the specified memory location. The result is expressed by the following equation:
r := *p
Requirements
Intrinsic |
Architecture |
---|---|
_mm_stream_load_si128 |
x86, x64 |
Header file <smmintrin.h>
Remarks
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.
Example
#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