インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、immintrin.h を使用します。
変数 | 定義 |
---|---|
src | 書き込みマスクの結果に応じて使用されるソース要素 |
k | セレクターとして使用される書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
b | 2 つ目のソースベクトルの要素 |
c | 3 つ目のソースベクトルの要素 |
imm | 比較プレディケート。次のいずれかの値を使用できます。
|
_mm_mask_andnot_pd
__m128d _mm_mask_andnot_pd(__m128d src, __mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_andnot_pd
__m128d _mm_maskz_andnot_pd(__mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_andnot_pd
__m256d _mm256_mask_andnot_pd(__m256d src, __mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_andnot_pd
__m256d _mm256_maskz_andnot_pd(__mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_andnot_pd
__m512d _mm512_andnot_pd(__m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、結果を返します。
_mm512_mask_andnot_pd
__m512d _mm512_mask_andnot_pd(__m512d src, __mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_andnot_pd
__m512d _mm512_maskz_andnot_pd(__mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vandnpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_andnot_ps
__m128 _mm_mask_andnot_ps(__m128 src, __mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_andnot_ps
__m128 _mm_maskz_andnot_ps(__mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_andnot_ps
__m256 _mm256_mask_andnot_ps(__m256 src, __mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_andnot_ps
__m256 _mm256_maskz_andnot_ps(__mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_andnot_ps
__m512 _mm512_andnot_ps(__m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、結果を返します。
_mm512_mask_andnot_ps
__m512 _mm512_mask_andnot_ps(__m512 src, __mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_andnot_ps
__m512 _mm512_maskz_andnot_ps(__mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vandnps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_and_pd
__m128d _mm_mask_and_pd(__m128d src, __mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_and_pd
__m128d _mm_maskz_and_pd(__mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_and_pd
__m256d _mm256_mask_and_pd(__m256d src, __mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_and_pd
__m256d _mm256_maskz_and_pd(__mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_and_pd
__m512d _mm512_and_pd(__m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、結果を返します。
_mm512_mask_and_pd
__m512d _mm512_mask_and_pd(__m512d src, __mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_and_pd
__m512d _mm512_maskz_and_pd(__mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vandpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_and_ps
__m128 _mm_mask_and_ps(__m128 src, __mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_and_ps
__m128 _mm_maskz_and_ps(__mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_and_ps
__m256 _mm256_mask_and_ps(__m256 src, __mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_and_ps
__m256 _mm256_maskz_and_ps(__mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_and_ps
__m512 _mm512_and_ps(__m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、結果を返します。
_mm512_mask_and_ps
__m512 _mm512_mask_and_ps(__m512 src, __mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_and_ps
__m512 _mm512_maskz_and_ps(__mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vandps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_or_pd
__m128d _mm_mask_or_pd(__m128d src, __mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_or_pd
__m128d _mm_maskz_or_pd(__mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_or_pd
__m256d _mm256_mask_or_pd(__m256d src, __mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_or_pd
__m256d _mm256_maskz_or_pd(__mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_mask_or_pd
__m512d _mm512_mask_or_pd(__m512d src, __mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_or_pd
__m512d _mm512_maskz_or_pd(__mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_or_pd
__m512d _mm512_or_pd(__m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、結果を返します。
_mm_mask_or_ps
__m128 _mm_mask_or_ps(__m128 src, __mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_or_ps
__m128 _mm_maskz_or_ps(__mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_or_ps
__m256 _mm256_mask_or_ps(__m256 src, __mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_or_ps
__m256 _mm256_maskz_or_ps(__mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_mask_or_ps
__m512 _mm512_mask_or_ps(__m512 src, __mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_or_ps
__m512 _mm512_maskz_or_ps(__mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_or_ps
__m512 _mm512_or_ps(__m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の OR (論理和) を計算し、結果を返します。
_mm_mask_xor_pd
__m128d _mm_mask_xor_pd(__m128d src, __mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_xor_pd
__m128d _mm_maskz_xor_pd(__mmask8 k, __m128d a, __m128d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_xor_pd
__m256d _mm256_mask_xor_pd(__m256d src, __mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_xor_pd
__m256d _mm256_maskz_xor_pd(__mmask8 k, __m256d a, __m256d b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_mask_xor_pd
__m512d _mm512_mask_xor_pd(__m512d src, __mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_xor_pd
__m512d _mm512_maskz_xor_pd(__mmask8 k, __m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_xor_pd
__m512d _mm512_xor_pd(__m512d a, __m512d b)
CPUID フラグ: AVX512DQ
命令: vxorpd
a と b のパックド倍精度 (64 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、結果を返します。
_mm_mask_xor_ps
__m128 _mm_mask_xor_ps(__m128 src, __mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_xor_ps
__m128 _mm_maskz_xor_ps(__mmask8 k, __m128 a, __m128 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_xor_ps
__m256 _mm256_mask_xor_ps(__m256 src, __mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_xor_ps
__m256 _mm256_maskz_xor_ps(__mmask8 k, __m256 a, __m256 b)
CPUID フラグ: AVX512DQ、AVX512VL
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_mask_xor_ps
__m512 _mm512_mask_xor_ps(__m512 src, __mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_xor_ps
__m512 _mm512_maskz_xor_ps(__mmask16 k, __m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_xor_ps
__m512 _mm512_xor_ps(__m512 a, __m512 b)
CPUID フラグ: AVX512DQ
命令: vxorps
a と b のパックド単精度 (32 ビット) 浮動小数点要素のビット単位の XOR (排他的論理和) を計算し、結果を返します。
_mm_mask_and_epi32
__m128i _mm_mask_and_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandd
a と b のパックド 32 ビット整数のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_and_epi32
__m128i _mm_maskz_and_epi32(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandd
a と b のパックド 32 ビット整数のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_and_epi32
__m256i _mm256_mask_and_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandd
a と b のパックド 32 ビット整数のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_and_epi32
__m256i _mm256_maskz_and_epi32(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandd
a と b のパックド 32 ビット整数のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_andnot_epi32
__m128i _mm_mask_andnot_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnd
a と b のパックド 32 ビット整数のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_andnot_epi32
__m128i _mm_maskz_andnot_epi32(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnd
a と b のパックド 32 ビット整数のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_andnot_epi32
__m256i _mm256_mask_andnot_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnd
a と b のパックド 32 ビット整数のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_andnot_epi32
__m256i _mm256_maskz_andnot_epi32(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnd
a と b のパックド 32 ビット整数のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_andnot_epi64
__m128i _mm_mask_andnot_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnq
a と b のパックド 64 ビット整数のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_andnot_epi64
__m128i _mm_maskz_andnot_epi64(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnq
a と b のパックド 64 ビット整数のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_andnot_epi64
__m256i _mm256_mask_andnot_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnq
a と b のパックド 64 ビット整数のビット単位の AND NOT (否定論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_andnot_epi64
__m256i _mm256_maskz_andnot_epi64(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandnq
a と b のパックド 64 ビット整数のビット単位の AND NOT (否定論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_and_epi64
__m128i _mm_mask_and_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandq
a と b のパックド 64 ビット整数のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_and_epi64
__m128i _mm_maskz_and_epi64(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandq
a と b のパックド 64 ビット整数のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_and_epi64
__m256i _mm256_mask_and_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandq
a と b のパックド 64 ビット整数のビット単位の AND (論理積) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_and_epi64
__m256i _mm256_maskz_and_epi64(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpandq
a と b のパックド 64 ビット整数のビット単位の AND (論理積) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_or_epi32
__m128i _mm_mask_or_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpord
a と b のパックド 32 ビット整数のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_or_epi32
__m128i _mm_maskz_or_epi32(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpord
a と b のパックド 32 ビット整数のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_or_epi32
__m256i _mm256_mask_or_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpord
a と b のパックド 32 ビット整数のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_or_epi32
__m256i _mm256_maskz_or_epi32(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpord
a と b のパックド 32 ビット整数のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_or_epi64
__m128i _mm_mask_or_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vporq
a と b のパックド 64 ビット整数のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_or_epi64
__m128i _mm_maskz_or_epi64(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vporq
a と b のパックド 64 ビット整数のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_or_epi64
__m256i _mm256_mask_or_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vporq
a と b のパックド 64 ビット整数のビット単位の OR (論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_or_epi64
__m256i _mm256_maskz_or_epi64(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vporq
a と b のパックド 64 ビット整数のビット単位の OR (論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_ternarylogic_epi32
__m128i _mm_mask_ternarylogic_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogd
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 32 ビット整数の各ビットごとに、src、a、b の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、書き込みマスク k を使用して戻り値の対応するビットに 32 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は src の 32 ビット要素がコピーされます)。
_mm_maskz_ternarylogic_epi32
__m128i _mm_maskz_ternarylogic_epi32(__mmask8 k, __m128i a, __m128i b, __m128i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogd
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 32 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、ゼロマスク k を使用して戻り値の対応するビットに 32 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は 32 ビット要素が 0 に設定されます)。
_mm_ternarylogic_epi32
__m128i _mm_ternarylogic_epi32(__m128i a, __m128i b, __m128i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogd
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 32 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を戻り値の対応するビットに書き込みます。
_mm256_mask_ternarylogic_epi32
__m256i _mm256_mask_ternarylogic_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogd
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 32 ビット整数の各ビットごとに、src、a、b の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、書き込みマスク k を使用して戻り値の対応するビットに 32 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は src の 32 ビット要素がコピーされます)。
_mm256_maskz_ternarylogic_epi32
__m256i _mm256_maskz_ternarylogic_epi32(__mmask8 k, __m256i a, __m256i b, __m256i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogd
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 32 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、ゼロマスク k を使用して戻り値の対応するビットに 32 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は 32 ビット要素が 0 に設定されます)。
_mm256_ternarylogic_epi32
__m256i _mm256_ternarylogic_epi32(__m256i a, __m256i b, __m256i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogd
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 32 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を戻り値の対応するビットに書き込みます。
_mm_mask_ternarylogic_epi64
__m128i _mm_mask_ternarylogic_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogq
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 64 ビット整数の各ビットごとに、src、a、b の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、書き込みマスク k を使用して戻り値の対応するビットに 64 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は src の 64 ビット要素がコピーされます)。
_mm_maskz_ternarylogic_epi64
__m128i _mm_maskz_ternarylogic_epi64(__mmask8 k, __m128i a, __m128i b, __m128i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogq
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 64 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、ゼロマスク k を使用して戻り値の対応するビットに 64 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は 64 ビット要素が 0 に設定されます)。
_mm_ternarylogic_epi64
__m128i _mm_ternarylogic_epi64(__m128i a, __m128i b, __m128i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogq
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 64 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を戻り値の対応するビットに書き込みます。
_mm256_mask_ternarylogic_epi64
__m256i _mm256_mask_ternarylogic_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogq
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 64 ビット整数の各ビットごとに、src、a、b の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、書き込みマスク k を使用して戻り値の対応するビットに 64 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は src の 64 ビット要素がコピーされます)。
_mm256_maskz_ternarylogic_epi64
__m256i _mm256_maskz_ternarylogic_epi64(__mmask8 k, __m256i a, __m256i b, __m256i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogq
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 64 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を、ゼロマスク k を使用して戻り値の対応するビットに 64 ビット単位で書き込みます (マスクの対応するビットが設定されていない場合は 64 ビット要素が 0 に設定されます)。
_mm256_ternarylogic_epi64
__m256i _mm256_ternarylogic_epi64(__m256i a, __m256i b, __m256i c, int imm8)
CPUID フラグ: AVX512F、AVX512VL
命令: vpternlogq
ビット単位の 3 値論理により、imm8 の値によって指定されたオペランドが 3 つのバイナリー関数を実装します。各パックド 64 ビット整数の各ビットごとに、a、b、c の対応するビットから imm8 への 3 ビットのインデックスを形成し、インデックスで指定された imm8 のビット位置にある値を戻り値の対応するビットに書き込みます。
_mm_mask_xor_epi32
__m128i _mm_mask_xor_epi32(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxord
a と b のパックド 32 ビット整数のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_xor_epi32
__m128i _mm_maskz_xor_epi32(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxord
a と b のパックド 32 ビット整数のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_xor_epi32
__m256i _mm256_mask_xor_epi32(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxord
a と b のパックド 32 ビット整数のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_xor_epi32
__m256i _mm256_maskz_xor_epi32(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxord
a と b のパックド 32 ビット整数のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_xor_epi64
__m128i _mm_mask_xor_epi64(__m128i src, __mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxorq
a と b のパックド 64 ビット整数のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_xor_epi64
__m128i _mm_maskz_xor_epi64(__mmask8 k, __m128i a, __m128i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxorq
a と b のパックド 64 ビット整数のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_xor_epi64
__m256i _mm256_mask_xor_epi64(__m256i src, __mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxorq
a と b のパックド 64 ビット整数のビット単位の XOR (排他的論理和) を計算し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_xor_epi64
__m256i _mm256_maskz_xor_epi64(__mmask8 k, __m256i a, __m256i b)
CPUID フラグ: AVX512F、AVX512VL
命令: vpxorq
a と b のパックド 64 ビット整数のビット単位の XOR (排他的論理和) を計算し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。