2 つの float64 値をデスティネーション・ベクトルに並べ替えます。対応するインテル® AVX 命令は VPERMIL2PD です。
extern __m256d __cdecl _mm256_permute2_pd(__m256d a, __m256d b, _m256i ctrl, int imm); |
extern __m128d __cdecl _mm_permute2_pd(__m128d a, __m128d b, _m128i ctrl, int imm); |
a |
256 ビットまた[ぁ-ん] [0-9]28 ビットの float64 ソースベクトル |
b |
256 ビットまた[ぁ-ん] [0-9]28 ビットの float64 ソースベクトル |
ctrl |
次のフィールドを持つベクトル。
imm 引数の zero_match フィールドと ctrl ベクトルの match ビットは、デスティネーション・ベクトルの対応するデータ要素に書き込まれる値を指定します。 |
imm |
2 ビットの zero_match 制御フィールドを指定する即値バイト |
2 つの倍精度浮動小数点値 (float64 値) を並べ替えます。ソースベクトル a と b の 1 つのペア (128 ビットのソース) から float64 値を 1 つ選択するか、2 つのペア (256 ビットのソース) から float64 値を選択します。どちらを選択するかは、3 つめのベクトル ctrl によって指定された source select フィールドの値によって決定されます。
ctrl ベクトルの match ビットと imm パラメーターによって指定された zero_match 制御フィールドに応じて、選択された各 float64 値がデスティネーション・ベクトルにコピーされるか、デスティネーション・ベクトルで 0 に置換されます。
256 ビットまた[ぁ-ん] [0-9]28 ビットの値が並べ替えられた float64 ベクトル