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

FP リダクション操作の組込み関数

インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、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 のすべてのアクティブな要素の積を返します。