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

_mm256_shufflehi_epi16

シャッフル制御オペランドの設定に応じて、ソースオペランドの各 128 ビット要素の上位 4 つの符号付きまたは符号なしワードをシャッフルします。ソースオペランドの各 128 ビット要素の下位クワッドワードは、結果ベクトルの対応する下位クワッドワードにコピーされます。対応するインテル® AVX 2 命令は VPSHUFHW です。

構文

extern __m256i _mm256_shufflehi_epi16(__m256i val, const int control);

引数

val

整数ソースオペランド

control

即値の制御マスク

説明

シャッフル制御オペランドの設定に応じて、ソースオペランドの各 128 ビット要素の上位 4 つの符号付きまたは符号なしワードをシャッフルします。ソースオペランドの各 128 ビット要素の下位クワッドワードは、結果ベクトルの対応する下位クワッドワードにコピーされます。シャッフル制御オペランドは即値でなければなりません。

以下にこの組込み関数の擬似コードを示します。

RESULT[63:0] <- VAL[63:0]
RESULT[79:64] <- (VAL >> (CONTROL[1:0] *16))[79:64]
RESULT[95:80] <- (VAL >> (CONTROL[3:2] * 16))[79:64]
RESULT[111:96] <- (VAL >> (CONTROL[5:4] * 16))[79:64]
RESULT[127:112] <- (VAL >> (CONTROL[7:6] * 16))[79:64]
RESULT[191:128] <- VAL[191:128]
RESULT[207192] <- (VAL >> (CONTROL[1:0] *16))[207:192]
RESULT[223:208] <- (VAL >> (CONTROL[3:2] * 16))[207:192]
RESULT[239:224] <- (VAL >> (CONTROL[5:4] * 16))[207:192]

RESULT[255:240] <- (VAL >> (CONTROL[7:6] * 16))[207:192]

戻り値

シャッフル操作の結果。