ストリーミングSIMD拡張命令を使用してシャッフルを行うマクロ関数

ストリーミングSIMD拡張命令には、シャッフル操作を記述する定数を生成するマクロ関数を用意しています。このマクロは、4個の小さな整数(03の範囲)を組み合わせて、SHUFPS命令が使用する8ビット即値を生成します。次の例を参照してください。

シャッフル関数のマクロ

4個の整数は、第1入力オペランドと第2入力オペランドからそれぞれどの2ワードを取り出して結果のワードに入れるかを選択するセレクタとして機能します。

シャッフル関数のマクロの元のワードと結果のワード