Load Operations for Streaming SIMD Extensions 2

The following load operation intrinsics and their respective instructions are functional in the Streaming SIMD Extensions 2.

__m128i _mm_load_si128 ( __m128i *p)

(uses MOVDQA)

Loads 128-bit value. Address p must be 16-byte aligned.

r := *p

 

__m128i _mm_loadu_si128 ( __m128i *p)

(uses MOVDQU)

Loads 128-bit value. Address p not need be 16-byte aligned.

r := *p

 

__m128i _mm_loadl_epi64(__m128i const *p)

(uses MOVQ)

Load the lower 64 bits of the value pointed to by p into the lower 64 bits of the result, zeroing the upper 64 bits of the result.

r0:= *p[63:0]

r1:=0x0