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

_mm256_sra_epi16/32

ワード/ダブルワード要素に対して指定したカウント値分だけ右へ算術シフトを実行します。対応するインテル® AVX2 命令は VPSRAW または VPSRAD です。

構文

extern __m256i _mm256_sra_epi16(__m256i s1, __m128i count);

extern __m256i _mm256_sra_epi32(__m256i s1, __m128i count);

引数

s1

演算に使用する整数ソースベクトル

count

演算に使用する 128 ビットのメモリー位置

説明

1 つ目のソースベクトル s1 の各データ要素 (16 ビットのワードまたは 32 ビットのダブルワード) に対して、count で指定されているビット数分だけ右へ算術シフトを実行します。空の上位ビットは、符号ビットの初期値に設定されます。count の値が (使用する組込み関数に応じて) 15/31/63 よりも大きい場合、デスティネーション・ベクトルは符号ビットの初期値に設定されます。

count 引数は 128 ビットのメモリー位置です。128 ビットの下位 64 ビットのみ確認され、使用されます。

戻り値

右シフト演算の結果。