Store Operations for Streaming SIMD Extensions

See summary table in Summary of Memory and Initialization topic.

The prototypes for Streaming SIMD Extensions intrinsics are in the xmmintrin.h header file.

void _mm_store_ss(float * p, __m128 a)

Stores the lower SP FP value.
*p := a0

void _mm_store_ps1(float * p, __m128 a )

Stores the lower SP FP value across four words.
p[0] := a0
p[1] := a0
p[2] := a0
p[3] := a0

void _mm_store_ps(float *p, __m128 a)

Stores four SP FP values. The address must be 16-byte-aligned.
p[0] := a0
p[1] := a1
p[2] := a2
p[3] := a3

void _mm_storeu_ps(float *p, __m128 a)

Stores four SP FP values. The address need not be 16-byte-aligned.
p[0] := a0
p[1] := a1
p[2] := a2
p[3] := a3

void _mm_storer_ps(float * p, __m128 a )

Stores four SP FP values in reverse order. The address must be 16-byte-aligned.
p[0] := a3
p[1] := a2
p[2] := a1
p[3] := a0

__m128 _mm_move_ss( __m128 a, __m128 b)

Sets the low word to the SP FP value of b. The upper 3 SP FP values are passed through from a.
r0 := b0
r1 := a1
r2 := a2
r3 := a3