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

_mm256_permute4x64_pd

ソースベクトルのクワッドワード倍精度浮動小数点値をデスティネーション・ベクトルに並べ替えます。対応するインテル® 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];

戻り値

置換操作の結果。