インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
ソースベクトルのクワッドワード倍精度浮動小数点値をデスティネーション・ベクトルに並べ替えます。対応するインテル® AVX2 命令は VPERMPD です。
extern __m256i _mm256_permute4x64_epi64(__m256d val, const int control); |
val |
並べ替える 64 ビットのクワッドワード倍精度浮動小数点要素からなるベクトル |
control |
8 ビットの即値として指定された整数 |
即値バイトの 2 ビットのインデックス値を使用して、ソースベクトル val からクワッドワード倍精度浮動小数点要素を選択し、結果の要素は、デスティネーション・ベクトルの対応する要素にコピーされます。ソースベクトルの同じ要素をデスティネーション・ベクトルの複数の要素にコピーすることができます。
以下にこの組込み関数の擬似コードを示します。
RESULT[63:0] <- (VAL[255:0] >> (CONTROL[1:0] * 64))[63:0]; RESULT[127:64] <- (VAL[255:0] >> (CONTROL[3:2] * 64))[63:0]; RESULT[191:128] <- (VAL[255:0] >> (CONTROL[5:4] * 64))[63:0]; RESULT[255:192] <- (VAL[255:0] >> (CONTROL[7:6] * 64))[63:0];
置換操作の結果。