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

_mm_srav_epi32

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

構文

extern __m128i _mm_srav_epi32(__m128i s1, __m128i s2);

引数

s1

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

s2

シフトカウントを指定する 128 ビット整数ソースベクトル

説明

ソースベクトル s1 の個々のデータ要素である 32 ビット (ダブルワード) に対して、ソースベクトル s2 の対応するデータ要素にあるカウント値分だけ右へ算術シフトを実行します。データ要素内のビットが右へシフトされ、空になった上位ビットは符号ビットの初期値に設定されます。

カウント値は、2 つ目のソースベクトルの各要素で個別に指定されています。2 つ目のソースベクトルの対応するデータ要素で指定されている符号なし整数値が 31 (ダブルワードの場合) よりも大きい場合、デスティネーションの対応するデータ要素は符号ビットの初期値に設定されます。

戻り値

右シフト演算の結果。