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

シフト演算の組込み関数

インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、immintrin.h を使用します。



変数 定義
src

書き込みマスクの結果に応じて使用されるソース要素

k

セレクターとして使用される書き込みマスク

a

1 つ目のソースベクトルの要素

b

2 つ目のソースベクトルの要素


_mm_mask_rol_epi32

__m128i _mm_mask_rol_epi32(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprold

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_rol_epi32

__m128i _mm_maskz_rol_epi32(__mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprold

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_rol_epi32

__m128i _mm_rol_epi32(__m128i a, int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprold

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、結果を返します。



_mm256_mask_rol_epi32

__m256i _mm256_mask_rol_epi32(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprold

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_rol_epi32

__m256i _mm256_maskz_rol_epi32(__mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprold

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_rol_epi32

__m256i _mm256_rol_epi32(__m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprold

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、結果を返します。



_mm_mask_rol_epi64

__m128i _mm_mask_rol_epi64(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_rol_epi64

__m128i _mm_maskz_rol_epi64(__mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_rol_epi64

__m128i _mm_rol_epi64(__m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、結果を返します。



_mm256_mask_rol_epi64

__m256i _mm256_mask_rol_epi64(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_rol_epi64

__m256i _mm256_maskz_rol_epi64(__mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_rol_epi64

__m256i _mm256_rol_epi64(__m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ左に回転し、結果を返します。



_mm_mask_rolv_epi32

__m128i _mm_mask_rolv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_rolv_epi32

__m128i _mm_maskz_rolv_epi32(__mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_rolv_epi32

__m128i _mm_rolv_epi32(__m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、結果を返します。



_mm256_mask_rolv_epi32

__m256i _mm256_mask_rolv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_rolv_epi32

__m256i _mm256_maskz_rolv_epi32(__mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_rolv_epi32

__m256i _mm256_rolv_epi32(__m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、結果を返します。



_mm_mask_rolv_epi64

__m128i _mm_mask_rolv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_rolv_epi64

__m128i _mm_maskz_rolv_epi64(__mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_rolv_epi64

__m128i _mm_rolv_epi64(__m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、結果を返します。



_mm256_mask_rolv_epi64

__m256i _mm256_mask_rolv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_rolv_epi64

__m256i _mm256_maskz_rolv_epi64(__mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_rolv_epi64

__m256i _mm256_rolv_epi64(__m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprolvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ左に回転し、結果を返します。



_mm_mask_ror_epi32

__m128i _mm_mask_ror_epi32(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprord

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_ror_epi32

__m128i _mm_maskz_ror_epi32(__mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprord

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_ror_epi32

__m128i _mm_ror_epi32(__m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprord

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、結果を返します。



_mm256_mask_ror_epi32

__m256i _mm256_mask_ror_epi32(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprord

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_ror_epi32

__m256i _mm256_maskz_ror_epi32(__mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprord

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_ror_epi32

__m256i _mm256_ror_epi32(__m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprord

a の各パックド 32 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、結果を返します。



_mm_mask_ror_epi64

__m128i _mm_mask_ror_epi64(__m128i src, __mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_ror_epi64

__m128i _mm_maskz_ror_epi64(__mmask8 k, __m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_ror_epi64

__m128i _mm_ror_epi64(__m128i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、結果を返します。



_mm256_mask_ror_epi64

__m256i _mm256_mask_ror_epi64(__m256i src, __mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_ror_epi64

__m256i _mm256_maskz_ror_epi64(__mmask8 k, __m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_ror_epi64

__m256i _mm256_ror_epi64(__m256i a, const int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorq

a の各パックド 64 ビット整数のビットを、imm で指定されたビット数分だけ右に回転し、結果を返します。



_mm_mask_rorv_epi32

__m128i _mm_mask_rorv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_rorv_epi32

__m128i _mm_maskz_rorv_epi32(__mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_rorv_epi32

__m128i _mm_rorv_epi32(__m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、結果を返します。



_mm256_mask_rorv_epi32

__m256i _mm256_mask_rorv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_rorv_epi32

__m256i _mm256_maskz_rorv_epi32(__mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_rorv_epi32

__m256i _mm256_rorv_epi32(__m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvd

a の各パックド 32 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、結果を返します。



_mm_mask_rorv_epi64

__m128i _mm_mask_rorv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_rorv_epi64

__m128i _mm_maskz_rorv_epi64(__mmask8 k, __m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_rorv_epi64

__m128i _mm_rorv_epi64(__m128i a, __m128i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、結果を返します。



_mm256_mask_rorv_epi64

__m256i _mm256_mask_rorv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_rorv_epi64

__m256i _mm256_maskz_rorv_epi64(__mmask8 k, __m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_rorv_epi64

__m256i _mm256_rorv_epi64(__m256i a, __m256i b)

CPUID フラグ: AVX512F、AVX512VL

命令: vprorvq

a の各パックド 64 ビット整数のビットを、b の対応する要素で指定されたビット数分だけ右に回転し、結果を返します。



_mm_mask_sll_epi32

__m128i _mm_mask_sll_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_slli_epi32

__m128i _mm_mask_slli_epi32(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sll_epi32

__m128i _mm_maskz_sll_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_slli_epi32

__m128i _mm_maskz_slli_epi32(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sll_epi32

__m256i _mm256_mask_sll_epi32(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_slli_epi32

__m256i _mm256_mask_slli_epi32(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sll_epi32

__m256i _mm256_maskz_sll_epi32(__mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_slli_epi32

__m256i _mm256_maskz_slli_epi32(__mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpslld

a のパックド 32 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_bslli_epi128

__m512i _mm512_bslli_epi128(__m512i a, int imm)

CPUID フラグ: AVX512BW

命令: vpslldq

a の 128 ビット・レーンを左に imm バイトだけシフトし、ゼロをシフトインして、結果を返します。



_mm_mask_sll_epi64

__m128i _mm_mask_sll_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_slli_epi64

__m128i _mm_mask_slli_epi64(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sll_epi64

__m128i _mm_maskz_sll_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_slli_epi64

__m128i _mm_maskz_slli_epi64(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sll_epi64

__m256i _mm256_mask_sll_epi64(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_slli_epi64

__m256i _mm256_mask_slli_epi64(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sll_epi64

__m256i _mm256_maskz_sll_epi64(__mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_slli_epi64

__m256i _mm256_maskz_slli_epi64(__mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllq

a のパックド 64 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_sllv_epi32

__m128i _mm_mask_sllv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvd

a のパックド 32 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sllv_epi32

__m128i _mm_maskz_sllv_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvd

a のパックド 32 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sllv_epi32

__m256i _mm256_mask_sllv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvd

a のパックド 32 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sllv_epi32

__m256i _mm256_maskz_sllv_epi32(__mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvd

a のパックド 32 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_sllv_epi64

__m128i _mm_mask_sllv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvq

a のパックド 64 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sllv_epi64

__m128i _mm_maskz_sllv_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvq

a のパックド 64 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sllv_epi64

__m256i _mm256_mask_sllv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvq

a のパックド 64 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sllv_epi64

__m256i _mm256_maskz_sllv_epi64(__mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsllvq

a のパックド 64 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_sllv_epi16

__m128i _mm_mask_sllv_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sllv_epi16

__m128i _mm_maskz_sllv_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_sllv_epi16

__m128i _mm_sllv_epi16(__m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、結果を返します。



_mm256_mask_sllv_epi16

__m256i _mm256_mask_sllv_epi16(__m256i src, __mmask16 k, __m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sllv_epi16

__m256i _mm256_maskz_sllv_epi16(__mmask16 k, __m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_sllv_epi16

__m256i _mm256_sllv_epi16(__m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、結果を返します。



_mm512_mask_sllv_epi16

__m512i _mm512_mask_sllv_epi16(__m512i src, __mmask32 k, __m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_sllv_epi16

__m512i _mm512_maskz_sllv_epi16(__mmask32 k, __m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_sllv_epi16

__m512i _mm512_sllv_epi16(__m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsllvw

a のパックド 16 ビット整数を左に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、結果を返します。



_mm_mask_sll_epi16

__m128i _mm_mask_sll_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_slli_epi16

__m128i _mm_mask_slli_epi16(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sll_epi16

__m128i _mm_maskz_sll_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_slli_epi16

__m128i _mm_maskz_slli_epi16(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sll_epi16

__m256i _mm256_mask_sll_epi16(__m256i src, __mmask16 k, __m256i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_slli_epi16

__m256i _mm256_mask_slli_epi16(__m256i src, __mmask16 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sll_epi16

__m256i _mm256_maskz_sll_epi16(__mmask16 k, __m256i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_slli_epi16

__m256i _mm256_maskz_slli_epi16(__mmask16 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_mask_sll_epi16

__m512i _mm512_mask_sll_epi16(__m512i src, __mmask32 k, __m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_mask_slli_epi16

__m512i _mm512_mask_slli_epi16(__m512i src, __mmask32 k, __m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_sll_epi16

__m512i _mm512_maskz_sll_epi16(__mmask32 k, __m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_maskz_slli_epi16

__m512i _mm512_maskz_slli_epi16(__mmask32 k, __m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_sll_epi16

__m512i _mm512_sll_epi16(__m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsllw

a のパックド 16 ビット整数を左に count だけシフトし、ゼロをシフトインして、結果を返します。



_mm512_slli_epi16

__m512i _mm512_slli_epi16(__m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsllw

a のパックド 16 ビット整数を左に imm だけシフトし、ゼロをシフトインして、結果を返します。



_mm_mask_sra_epi32

__m128i _mm_mask_sra_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_srai_epi32

__m128i _mm_mask_srai_epi32(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sra_epi32

__m128i _mm_maskz_sra_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_srai_epi32

__m128i _mm_maskz_srai_epi32(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sra_epi32

__m256i _mm256_mask_sra_epi32(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_srai_epi32

__m256i _mm256_mask_srai_epi32(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sra_epi32

__m256i _mm256_maskz_sra_epi32(__mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_srai_epi32

__m256i _mm256_maskz_srai_epi32(__mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrad

a のパックド 32 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_sra_epi64

__m128i _mm_mask_sra_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_srai_epi64

__m128i _mm_mask_srai_epi64(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sra_epi64

__m128i _mm_maskz_sra_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_srai_epi64

__m128i _mm_maskz_srai_epi64(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_sra_epi64

__m128i _mm_sra_epi64(__m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm_srai_epi64

__m128i _mm_srai_epi64(__m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm256_mask_sra_epi64

__m256i _mm256_mask_sra_epi64(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_srai_epi64

__m256i _mm256_mask_srai_epi64(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sra_epi64

__m256i _mm256_maskz_sra_epi64(__mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_srai_epi64

__m256i _mm256_maskz_srai_epi64(__mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_sra_epi64

__m256i _mm256_sra_epi64(__m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm256_srai_epi64

__m256i _mm256_srai_epi64(__m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsraq

a のパックド 64 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm_mask_srav_epi32

__m128i _mm_mask_srav_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srav_epi32

__m128i _mm_maskz_srav_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_srav_epi32

__m256i _mm256_mask_srav_epi32(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srav_epi32

__m256i _mm256_maskz_srav_epi32(__mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_srav_epi64

__m128i _mm_mask_srav_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srav_epi64

__m128i _mm_maskz_srav_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_srav_epi64

__m128i _mm_srav_epi64(__m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm256_mask_srav_epi64

__m256i _mm256_mask_srav_epi64(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srav_epi64

__m256i _mm256_maskz_srav_epi64(__mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_srav_epi64

__m256i _mm256_srav_epi64(__m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsravq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm_mask_srav_epi16

__m128i _mm_mask_srav_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srav_epi16

__m128i _mm_maskz_srav_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_srav_epi16

__m128i _mm_srav_epi16(__m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm256_mask_srav_epi16

__m256i _mm256_mask_srav_epi16(__m256i src, __mmask16 k, __m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srav_epi16

__m256i _mm256_maskz_srav_epi16(__mmask16 k, __m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_srav_epi16

__m256i _mm256_srav_epi16(__m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm512_mask_srav_epi16

__m512i _mm512_mask_srav_epi16(__m512i src, __mmask32 k, __m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_srav_epi16

__m512i _mm512_maskz_srav_epi16(__mmask32 k, __m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_srav_epi16

__m512i _mm512_srav_epi16(__m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsravw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm_mask_sra_epi16

__m128i _mm_mask_sra_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_srai_epi16

__m128i _mm_mask_srai_epi16(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_sra_epi16

__m128i _mm_maskz_sra_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_srai_epi16

__m128i _mm_maskz_srai_epi16(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_sra_epi16

__m256i _mm256_mask_sra_epi16(__m256i src, __mmask16 k, __m256i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_srai_epi16

__m256i _mm256_mask_srai_epi16(__m256i src, __mmask16 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_sra_epi16

__m256i _mm256_maskz_sra_epi16(__mmask16 k, __m256i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_srai_epi16

__m256i _mm256_maskz_srai_epi16(__mmask16 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_mask_sra_epi16

__m512i _mm512_mask_sra_epi16(__m512i src, __mmask32 k, __m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_mask_srai_epi16

__m512i _mm512_mask_srai_epi16(__m512i src, __mmask32 k, __m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_sra_epi16

__m512i _mm512_maskz_sra_epi16(__mmask32 k, __m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_maskz_srai_epi16

__m512i _mm512_maskz_srai_epi16(__mmask32 k, __m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_sra_epi16

__m512i _mm512_sra_epi16(__m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsraw

a のパックド 16 ビット整数を右に count だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm512_srai_epi16

__m512i _mm512_srai_epi16(__m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsraw

a のパックド 16 ビット整数を右に imm だけシフトし、その符号ビットをシフトインして、結果を返します。



_mm_mask_srl_epi32

__m128i _mm_mask_srl_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_srli_epi32

__m128i _mm_mask_srli_epi32(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srl_epi32

__m128i _mm_maskz_srl_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_srli_epi32

__m128i _mm_maskz_srli_epi32(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_srl_epi32

__m256i _mm256_mask_srl_epi32(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_srli_epi32

__m256i _mm256_mask_srli_epi32(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srl_epi32

__m256i _mm256_maskz_srl_epi32(__mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_srli_epi32

__m256i _mm256_maskz_srli_epi32(__mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrld

a のパックド 32 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_bsrli_epi128

__m512i _mm512_bsrli_epi128(__m512i a, int imm)

CPUID フラグ: AVX512BW

命令: vpsrldq

a の 128 ビット・レーンを右に imm バイトだけシフトし、ゼロをシフトインして、結果を返します。



_mm_mask_srl_epi64

__m128i _mm_mask_srl_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_srli_epi64

__m128i _mm_mask_srli_epi64(__m128i src, __mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srl_epi64

__m128i _mm_maskz_srl_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_srli_epi64

__m128i _mm_maskz_srli_epi64(__mmask8 k, __m128i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_srl_epi64

__m256i _mm256_mask_srl_epi64(__m256i src, __mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_srli_epi64

__m256i _mm256_mask_srli_epi64(__m256i src, __mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srl_epi64

__m256i _mm256_maskz_srl_epi64(__mmask8 k, __m256i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_srli_epi64

__m256i _mm256_maskz_srli_epi64(__mmask8 k, __m256i a, unsigned int imm)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlq

a のパックド 64 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_srlv_epi32

__m128i _mm_mask_srlv_epi32(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srlv_epi32

__m128i _mm_maskz_srlv_epi32(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_srlv_epi32

__m256i _mm256_mask_srlv_epi32(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srlv_epi32

__m256i _mm256_maskz_srlv_epi32(__mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvd

a のパックド 32 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_srlv_epi64

__m128i _mm_mask_srlv_epi64(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srlv_epi64

__m128i _mm_maskz_srlv_epi64(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_srlv_epi64

__m256i _mm256_mask_srlv_epi64(__m256i src, __mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srlv_epi64

__m256i _mm256_maskz_srlv_epi64(__mmask8 k, __m256i a, __m256i count)

CPUID フラグ: AVX512F、AVX512VL

命令: vpsrlvq

a のパックド 64 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_mask_srlv_epi16

__m128i _mm_mask_srlv_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srlv_epi16

__m128i _mm_maskz_srlv_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_srlv_epi16

__m128i _mm_srlv_epi16(__m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、結果を返します。



_mm256_mask_srlv_epi16

__m256i _mm256_mask_srlv_epi16(__m256i src, __mmask16 k, __m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srlv_epi16

__m256i _mm256_maskz_srlv_epi16(__mmask16 k, __m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_srlv_epi16

__m256i _mm256_srlv_epi16(__m256i a, __m256i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、結果を返します。



_mm512_mask_srlv_epi16

__m512i _mm512_mask_srlv_epi16(__m512i src, __mmask32 k, __m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_srlv_epi16

__m512i _mm512_maskz_srlv_epi16(__mmask32 k, __m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_srlv_epi16

__m512i _mm512_srlv_epi16(__m512i a, __m512i count)

CPUID フラグ: AVX512BW

命令: vpsrlvw

a のパックド 16 ビット整数を右に count の対応する要素で指定した値だけシフトし、ゼロをシフトインして、結果を返します。



_mm_mask_srl_epi16

__m128i _mm_mask_srl_epi16(__m128i src, __mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_mask_srli_epi16

__m128i _mm_mask_srli_epi16(__m128i src, __mmask8 k, __m128i a, int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm_maskz_srl_epi16

__m128i _mm_maskz_srl_epi16(__mmask8 k, __m128i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm_maskz_srli_epi16

__m128i _mm_maskz_srli_epi16(__mmask8 k, __m128i a, int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_mask_srl_epi16

__m256i _mm256_mask_srl_epi16(__m256i src, __mmask16 k, __m256i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_mask_srli_epi16

__m256i _mm256_mask_srli_epi16(__m256i src, __mmask16 k, __m256i a, int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm256_maskz_srl_epi16

__m256i _mm256_maskz_srl_epi16(__mmask16 k, __m256i a, __m128i count)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm256_maskz_srli_epi16

__m256i _mm256_maskz_srli_epi16(__mmask16 k, __m256i a, int imm)

CPUID フラグ: AVX512BW、AVX512VL

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_mask_srl_epi16

__m512i _mm512_mask_srl_epi16(__m512i src, __mmask32 k, __m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_mask_srli_epi16

__m512i _mm512_mask_srli_epi16(__m512i src, __mmask32 k, __m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_srl_epi16

__m512i _mm512_maskz_srl_epi16(__mmask32 k, __m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_maskz_srli_epi16

__m512i _mm512_maskz_srli_epi16(__mmask32 k, __m512i a, int imm)

CPUID フラグ: AVX512BW

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_srl_epi16

__m512i _mm512_srl_epi16(__m512i a, __m128i count)

CPUID フラグ: AVX512BW

命令: vpsrlw

a のパックド 16 ビット整数を右に count だけシフトし、ゼロをシフトインして、結果を返します。



_mm512_srli_epi16

__m512i _mm512_srli_epi16(__m512i a, unsigned int imm)

CPUID フラグ: AVX512BW

命令: vpsrlw

a のパックド 16 ビット整数を右に imm だけシフトし、ゼロをシフトインして、結果を返します。