ストリーミング SIMD 拡張命令 2 の組込み関数のプロトタイプは、ヘッダファイル emmintrin.h 内にあります。
__m128d _mm_unpackhi_pd(__m128d a, __m128d b)
(UNPCKHPD を使用) a と b の上位の倍精度浮動小数点値をインターリーブ (交互に配置) します。
r0 := a1
r1 := b1
__m128d _mm_unpacklo_pd(__m128d a, __m128d b)
(UNPCKLPD を使用) a と b の下位の倍精度浮動小数点値をインターリーブします。
r0 := a0
r1 := b0
int _mm_movemask_pd(__m128d a)
(MOVMSKPD を使用) a の 2 つの倍精度浮動小数点値の符号ビットから、2 ビットマスクを作成します。
r := sign(a1) << 1 | sign(a0)
__m128d _mm_shuffle_pd(__m128d a, __m128d b, int i)
(SHUFPD を使用) マスク i に基づいて、a と b から 2 つの倍精度浮動小数点値を選択します。マスクは即値でなければなりません。シャッフルのセマンティクスについては、「シャッフルを行うマクロ関数」を参照してください。