インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
ダブルワード/クワッドワード要素に対して指定したカウント値分だけ左へ論理シフトを実行します。対応するインテル® AVX2 命令は VPSLLVD または VPSLLVQ です。
extern __m256i _mm256_sllv_epi32(__m256i s1, __m256i s2); |
extern __m256i _mm256_sllv_epi64(__m256i s1, __m256i s2); |
s1 |
演算に使用する整数ソースベクトル |
s2 |
シフトカウントを指定する整数ソースベクトル |
ソースベクトル s1 の個々のデータ要素である 32 ビット (ダブルワード) または 64 ビット (クワッドワード) に対して、ソースベクトル s2 の対応するデータ要素にあるカウント値分だけ左へ論理シフトを実行します。データ要素内のビットが左へシフトされ、空になった下位のビットはクリア ('0' に設定) されます。
カウント値は、2 つ目のソースベクトルの各要素で個別に指定されています。2 つ目のソースベクトルの対応するデータ要素で指定されている符号なし整数値が 31 (ダブルワードの場合) または 63 (クワッドワードの場合) よりも大きい場合、デスティネーションの対応するデータ要素は '0' に設定されます。
左シフト演算の結果。