インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

_mm256_permute4x64_epi64

ソースベクトルのクワッドワード整数値をデスティネーション・ベクトルに並べ替えます。対応するインテル® AVX2 命令は VPERMQ です。

構文

extern __m256i _mm256_permute4x64_epi64(__m256i 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];

戻り値

置換操作の結果。