インテル® 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 だけシフトし、ゼロをシフトインして、結果を返します。