シャッフルを行うマクロ関数

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

シャッフル関数のマクロ

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

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