インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド
インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) のその他の組込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。
各組込み関数演算の結果はレジスターに配置されます。各レジスターに配置される値については、次の表の関数名の詳細で示します。R、R0、R1、R2、R3 は、結果が配置されるレジスターを表します。
__m128 _mm_shuffle_ps(__m128 a, __m128 b, unsigned int imm8);
マスク imm8 に基づいて、a と b から 4 つの単精度浮動小数点値を選択します。 マスクは即値でなければなりません。シャッフルのセマンティクスについては、「シャッフルを行うマクロ関数」を参照してください。
__m128 _mm_unpackhi_ps(__m128 a, __m128 b);
a と b から上位 2 つの単精度浮動小数点値を選択し、インターリーブ (交互に配置) します。
__m128 _mm_move_ss( __m128 a, __m128 b);
最下位ワードを、b の単精度浮動小数点値に設定します。 上位 3 つの単精度浮動小数点値は a からそのまま渡されます。
__m128 _mm_movehl_ps(__m128 a, __m128 b);
b の上位 2 つの単精度浮動小数点値を、結果の下位 2 つの単精度浮動小数点値に移動します。 a の上位 2 つの単精度浮動小数点値は、そのまま結果に渡されます。