Miscellaneous Operations for Streaming SIMD Extensions 2

 

__m128d _mm_unpackhi_pd ( __m128d a, __m128d b)

(uses UNPCKHPD)

Interleaves the upper DP FP values of a and b.

r0 := a1

r1 := b1

 

__m128d _mm_unpacklo_pd ( __m128d a, __m128d b)

(uses UNPCKLPD)

Interleaves the lower DP FP values of a and b.

r0 := a0

1 := b0

 

int _mm_movemask_pd ( __m128d a)

(uses MOVMSKPD)

Creates a two bit mask from the sign bits of the two DP FP values of a.

r := sign(a1) << 1 | sign(a0)

 

__m128d _mm_shuffle_pd ( __m128d a, __m128d b, int i)

(uses SHUFPD)

Selects two specific DP FP values from a and b, based on the mask i. The mask must be an immediate. See Macro Function for Shuffle for a description of the shuffle semantics.