インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
組込み関数名 |
演算 |
対応するインテル® AVX-512 命令 |
---|---|---|
_mm512_reduce_add_pd、 _mm512_mask_reduce_add_pd |
加算により float64 要素をレデュースします。 |
なし |
_mm512_reduce_add_ps、 _mm512_mask_reduce_add_ps |
加算により float32 要素をレデュースします。 |
なし |
_mm512_reduce_max_pd、 _mm512_mask_reduce_max_pd |
最大値を特定する操作により float64 要素をレデュースします。 |
なし |
_mm512_reduce_max_ps、 _mm512_mask_reduce_max_ps |
最大値を特定する操作により float32 要素をレデュースします。 |
なし |
_mm512_reduce_min_pd、 _mm512_mask_reduce_min_pd |
最小値を特定する操作により float64 要素をレデュースします。 |
なし |
_mm512_reduce_min_ps、 _mm512_mask_reduce_min_ps |
最小値を特定する操作により float32 要素をレデュースします。 |
なし |
_mm512_reduce_mul_pd、 _mm512_mask_reduce_mul_pd |
乗算により float64 要素をレデュースします。 |
なし |
_mm512_reduce_mul_ps、 _mm512_mask_reduce_mul_ps |
乗算により float32 要素をレデュースします。 |
なし |
変数 | 定義 |
---|---|
k | 書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
_mm512_reduce_add_pd
extern double __cdecl _mm512_reduce_add_pd(__m512d a);
加算により a のパックド float64 要素をレデュースします。
a のすべての要素の合計を返します。
_mm512_mask_reduce_add_pd
extern double __cdecl _mm512_mask_reduce_add_pd(__mmask8 k, __m512d a);
書き込みマスク k を使用して、加算により a のパックド float64 要素をレデュースします。
a のすべてのアクティブな要素の合計を返します。
_mm512_reduce_add_ps
extern float __cdecl _mm512_reduce_add_ps(__m512 a);
加算により a のパックド float32 要素をレデュースします。
a のすべての要素の合計を返します。
_mm512_mask_reduce_add_ps
extern float __cdecl _mm512_mask_reduce_add_ps(__mmask16 k, __m512 a);
書き込みマスク k を使用して、加算により a のパックド float32 要素をレデュースします。
a のすべてのアクティブな要素の合計を返します。
_mm512_reduce_max_pd
extern double __cdecl _mm512_reduce_max_pd(__m512d a);
最大値を特定する操作により a のパックド float64 要素をレデュースします。
a のすべての要素の最大値を返します。
_mm512_mask_reduce_max_pd
extern double __cdecl _mm512_mask_reduce_max_pd(__mmask8 k, __m512d a);
書き込みマスク k を使用して、最大値を特定する操作により a のパックド float64 要素をレデュースします。
a のすべてのアクティブな要素の最大値を返します。
_mm512_reduce_max_ps
extern float __cdecl _mm512_reduce_max_ps(__m512 a);
最大値を特定する操作により a のパックド float32 要素をレデュースします。
a のすべての要素の最大値を返します。
_mm512_mask_reduce_max_ps
extern float __cdecl _mm512_mask_reduce_max_ps(__mmask16 k, __m512 a);
書き込みマスク k を使用して、最大値を特定する操作により a のパックド float32 要素をレデュースします。
a のすべてのアクティブな要素の最大値を返します。
_mm512_reduce_min_pd
extern double __cdecl _mm512_reduce_min_pd(__m512d a);
最小値を特定する操作により a のパックド float64 要素をレデュースします。
a のすべての要素の最小値を返します。
_mm512_mask_reduce_min_pd
extern double __cdecl _mm512_mask_reduce_min_pd(__mmask8 k, __m512d a);
書き込みマスク k を使用して、最小値を特定する操作により a のパックド float64 要素をレデュースします。
a のすべてのアクティブな要素の最小値を返します。
_mm512_reduce_min_ps
extern float __cdecl _mm512_reduce_min_ps(__m512 a);
最小値を特定する操作により a のパックド float32 要素をレデュースします。
a のすべての要素の最小値を返します。
_mm512_mask_reduce_min_ps
extern float __cdecl _mm512_mask_reduce_min_ps(__mmask16 k, __m512 a);
書き込みマスク k を使用して、最小値を特定する操作により a のパックド float32 要素をレデュースします。
a のすべてのアクティブな要素の最小値を返します。
_mm512_reduce_mul_pd
extern double __cdecl _mm512_reduce_mul_pd(__m512d a);
乗算により a のパックド float64 要素をレデュースします。
a のすべての要素の積を返します。
_mm512_mask_reduce_mul_pd
extern double __cdecl _mm512_mask_reduce_mul_pd(__mmask8 k, __m512d a);
書き込みマスク k を使用して、乗算により a のパックド float64 要素をレデュースします。
a のすべてのアクティブな要素の積を返します。
_mm512_reduce_mul_ps
extern float __cdecl _mm512_reduce_mul_ps(__m512 a);
乗算により a のパックド float32 要素をレデュースします。
a のすべての要素の積を返します。
_mm512_mask_reduce_mul_ps
extern float __cdecl _mm512_mask_reduce_mul_ps(__mmask16 k, __m512 a);
書き込みマスク k を使用して、乗算により a のパックド float32 要素をレデュースします。
a のすべてのアクティブな要素の積を返します。