インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、immintrin.h を使用します。
変数 | 定義 |
---|---|
src | 書き込みマスクの結果に応じて使用されるソース要素 |
k | セレクターとして使用される書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
_mm_mask_mov_pd
__m128d _mm_mask_mov_pd(__m128d src, __mmask8 k, __m128d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovapd
書き込みマスク k を使用して、a のパックド倍精度 (64 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_mov_pd
__m128d _mm_maskz_mov_pd(__mmask8 k, __m128d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovapd
ゼロマスク k を使用して、a のパックド倍精度 (64 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_mov_pd
__m256d _mm256_mask_mov_pd(__m256d src, __mmask8 k, __m256d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovapd
書き込みマスク k を使用して、a のパックド倍精度 (64 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_mov_pd
__m256d _mm256_maskz_mov_pd(__mmask8 k, __m256d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovapd
ゼロマスク k を使用して、a のパックド倍精度 (64 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_mov_ps
__m128 _mm_mask_mov_ps(__m128 src, __mmask8 k, __m128 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovaps
書き込みマスク k を使用して、a のパックド単精度 (32 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_mov_ps
__m128 _mm_maskz_mov_ps(__mmask8 k, __m128 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovaps
ゼロマスク k を使用して、a のパックド単精度 (32 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_mov_ps
__m256 _mm256_mask_mov_ps(__m256 src, __mmask8 k, __m256 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovaps
書き込みマスク k を使用して、a のパックド単精度 (32 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_mov_ps
__m256 _mm256_maskz_mov_ps(__mmask8 k, __m256 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovaps
ゼロマスク k を使用して、a のパックド単精度 (32 ビット) 浮動小数点要素を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_movedup_pd
__m128d _mm_mask_movedup_pd(__m128d src, __mmask8 k, __m128d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovddup
a のインデックスが偶数の倍精度 (64 ビット) 浮動小数点要素を複製し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_movedup_pd
__m128d _mm_maskz_movedup_pd(__mmask8 k, __m128d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovddup
a のインデックスが偶数の倍精度 (64 ビット) 浮動小数点要素を複製し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_movedup_pd
__m256d _mm256_mask_movedup_pd(__m256d src, __mmask8 k, __m256d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovddup
a のインデックスが偶数の倍精度 (64 ビット) 浮動小数点要素を複製し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_movedup_pd
__m256d _mm256_maskz_movedup_pd(__mmask8 k, __m256d a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovddup
a のインデックスが偶数の倍精度 (64 ビット) 浮動小数点要素を複製し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_movehdup_ps
__m128 _mm_mask_movehdup_ps(__m128 src, __mmask8 k, __m128 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovshdup
a のインデックスが奇数の単精度 (32 ビット) 浮動小数点要素を複製し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_movehdup_ps
__m128 _mm_maskz_movehdup_ps(__mmask8 k, __m128 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovshdup
a のインデックスが奇数の単精度 (32 ビット) 浮動小数点要素を複製し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_movehdup_ps
__m256 _mm256_mask_movehdup_ps(__m256 src, __mmask8 k, __m256 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovshdup
a のインデックスが奇数の単精度 (32 ビット) 浮動小数点要素を複製し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_movehdup_ps
__m256 _mm256_maskz_movehdup_ps(__mmask8 k, __m256 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovshdup
a のインデックスが奇数の単精度 (32 ビット) 浮動小数点要素を複製し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_moveldup_ps
__m128 _mm_mask_moveldup_ps(__m128 src, __mmask8 k, __m128 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovsldup
a のインデックスが偶数の単精度 (32 ビット) 浮動小数点要素を複製し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_moveldup_ps
__m128 _mm_maskz_moveldup_ps(__mmask8 k, __m128 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovsldup
a のインデックスが偶数の単精度 (32 ビット) 浮動小数点要素を複製し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_moveldup_ps
__m256 _mm256_mask_moveldup_ps(__m256 src, __mmask8 k, __m256 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovsldup
a のインデックスが偶数の単精度 (32 ビット) 浮動小数点要素を複製し、書き込みマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_moveldup_ps
__m256 _mm256_maskz_moveldup_ps(__mmask8 k, __m256 a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovsldup
a のインデックスが偶数の単精度 (32 ビット) 浮動小数点要素を複製し、ゼロマスク k を使用して結果を返します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_mov_epi32
__m128i _mm_mask_mov_epi32(__m128i src, __mmask8 k, __m128i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa32
書き込みマスク k を使用して、a のパックド 32 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_mov_epi32
__m128i _mm_maskz_mov_epi32(__mmask8 k, __m128i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa32
ゼロマスク k を使用して、a のパックド 32 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_mov_epi32
__m256i _mm256_mask_mov_epi32(__m256i src, __mmask8 k, __m256i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa32
書き込みマスク k を使用して、a のパックド 32 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_mov_epi32
__m256i _mm256_maskz_mov_epi32(__mmask8 k, __m256i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa32
ゼロマスク k を使用して、a のパックド 32 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_mov_epi64
__m128i _mm_mask_mov_epi64(__m128i src, __mmask8 k, __m128i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa64
書き込みマスク k を使用して、a のパックド 64 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_mov_epi64
__m128i _mm_maskz_mov_epi64(__mmask8 k, __m128i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa64
ゼロマスク k を使用して、a のパックド 64 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_mov_epi64
__m256i _mm256_mask_mov_epi64(__m256i src, __mmask8 k, __m256i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa64
書き込みマスク k を使用して、a のパックド 64 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_mov_epi64
__m256i _mm256_maskz_mov_epi64(__mmask8 k, __m256i a)
CPUID フラグ: AVX512F、AVX512VL
命令: vmovdqa64
ゼロマスク k を使用して、a のパックド 64 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_mov_epi16
__m128i _mm_mask_mov_epi16(__m128i src, __mmask8 k, __m128i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu16
書き込みマスク k を使用して、a のパックド 16 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_mov_epi16
__m128i _mm_maskz_mov_epi16(__mmask8 k, __m128i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu16
ゼロマスク k を使用して、a のパックド 16 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_mov_epi16
__m256i _mm256_mask_mov_epi16(__m256i src, __mmask16 k, __m256i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu16
書き込みマスク k を使用して、a のパックド 16 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_mov_epi16
__m256i _mm256_maskz_mov_epi16(__mmask16 k, __m256i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu16
ゼロマスク k を使用して、a のパックド 16 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_mask_mov_epi16
__m512i _mm512_mask_mov_epi16(__m512i src, __mmask32 k, __m512i a)
CPUID フラグ: AVX512BW
命令: vmovdqu16
書き込みマスク k を使用して、a のパックド 16 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_mov_epi16
__m512i _mm512_maskz_mov_epi16(__mmask32 k, __m512i a)
CPUID フラグ: AVX512BW
命令: vmovdqu16
ゼロマスク k を使用して、a のパックド 16 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_mov_epi8
__m128i _mm_mask_mov_epi8(__m128i src, __mmask16 k, __m128i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu8
書き込みマスク k を使用して、a のパックド 8 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm_maskz_mov_epi8
__m128i _mm_maskz_mov_epi8(__mmask16 k, __m128i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu8
ゼロマスク k を使用して、a のパックド 8 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm256_mask_mov_epi8
__m256i _mm256_mask_mov_epi8(__m256i src, __mmask32 k, __m256i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu8
書き込みマスク k を使用して、a のパックド 8 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm256_maskz_mov_epi8
__m256i _mm256_maskz_mov_epi8(__mmask32 k, __m256i a)
CPUID フラグ: AVX512BW、AVX512VL
命令: vmovdqu8
ゼロマスク k を使用して、a のパックド 8 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_mask_mov_epi8
__m512i _mm512_mask_mov_epi8(__m512i src, __mmask64 k, __m512i a)
CPUID フラグ: AVX512BW
命令: vmovdqu8
書き込みマスク k を使用して、a のパックド 8 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_maskz_mov_epi8
__m512i _mm512_maskz_mov_epi8(__mmask64 k, __m512i a)
CPUID フラグ: AVX512BW
命令: vmovdqu8
ゼロマスク k を使用して、a のパックド 8 ビット整数を戻り値へ移動します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。