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

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

インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、immintrin.h を使用します。


組込み関数名

演算

対応するインテル® AVX-512 命令

_mm512_reduce_add_epi32_mm512_mask_reduce_add_epi32

加算により int32 要素をレデュースします。

なし

_mm512_reduce_add_epi64_mm512_mask_reduce_add_epi64

加算により int64 要素をレデュースします。

なし

_mm512_reduce_mul_epi32_mm512_mask_reduce_mul_epi32

乗算により int32 要素をレデュースします。

なし

_mm512_reduce_mul_epi64_mm512_mask_reduce_mul_epi64

乗算により int64 要素をレデュースします。

なし

_mm512_reduce_min_epi32_mm512_mask_reduce_min_epi32

最小値を特定する操作により符号付き int32 要素をレデュースします。

なし

_mm512_reduce_min_epi64_mm512_mask_reduce_min_epi64

最小値を特定する操作により符号付き int64 要素をレデュースします。

なし

_mm512_reduce_min_epu32_mm512_mask_reduce_min_epu32

最小値を特定する操作により符号なし int32 要素をレデュースします。

なし

_mm512_reduce_min_epu64_mm512_mask_reduce_min_epu64

最小値を特定する操作により符号なし int64 要素をレデュースします。

なし

_mm512_reduce_max_epi32_mm512_mask_reduce_max_epi32

最大値を特定する操作により符号付き int32 要素をレデュースします。

なし

_mm512_reduce_max_epi64_mm512_mask_reduce_max_epi64

最大値を特定する操作により符号付き int64 要素をレデュースします。

なし

_mm512_reduce_max_epu32_mm512_mask_reduce_max_epu32

最大値を特定する操作により符号なし int32 要素をレデュースします。

なし

_mm512_reduce_max_epu64_mm512_mask_reduce_max_epu64

最大値を特定する操作により符号なし int64 要素をレデュースします。

なし

_mm512_reduce_or_epi32_mm512_mask_reduce_or_epi32

ビット単位の OR (論理和) 演算により int32 要素をレデュースします。

なし

_mm512_reduce_or_epi64_mm512_mask_reduce_or_epi64

ビット単位の OR (論理和) 演算により int64 要素をレデュースします。

なし

_mm512_reduce_and_epi32_mm512_mask_reduce_and_epi32

ビット単位の AND (論理積) 演算により int32 要素をレデュースします。

なし

_mm512_reduce_and_epi64_mm512_mask_reduce_and_epi64

ビット単位の AND (論理積) 演算により int64 要素をレデュースします。

なし

変数 定義
k

セレクターとして使用される書き込みマスク

a

1 つ目のソースベクトルの要素

src

書き込みマスクの結果に応じて使用されるソース要素


_mm512_reduce_and_epi32

extern int __cdecl _mm512_reduce_and_epi32(__m512i a);

ビット単位の AND (論理積) 演算により a のパックド int32 要素をレデュースします。

a のすべての要素のビット単位の AND (論理積) を返します。


_mm512_mask_reduce_and_epi32

extern int __cdecl _mm512_mask_reduce_and_epi32(__mmask16 k, __m512i a);

マスク k を使用して、ビット単位の AND (論理積) 演算により a のパックド int32 要素をレデュースします。

a のすべてのアクティブな要素のビット単位の AND (論理積) を返します。



_mm512_reduce_and_epi64

extern __int64 __cdecl _mm512_reduce_and_epi64(__m512i a);

ビット単位の AND (論理積) 演算により a のパックド int64 要素をレデュースします。

a のすべての要素のビット単位の AND (論理積) を返します。


_mm512_mask_reduce_and_epi64

extern __int64 __cdecl _mm512_mask_reduce_and_epi64(__mmask8 k, __m512i a);

マスク k を使用して、ビット単位の AND (論理積) 演算により a のパックド int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素のビット単位の AND (論理積) を返します。



_mm512_reduce_add_epi32

extern int __cdecl _mm512_reduce_add_epi32(__m512i a);

加算により a のパックド int32 要素をレデュースします。

a のすべての要素の合計を返します。


_mm512_mask_reduce_add_epi32

extern int __cdecl _mm512_mask_reduce_add_epi32(__mmask16 k, __m512i a);

マスク k を使用して、加算により a のパックド int32 要素をレデュースします。

a のすべてのアクティブな要素の合計を返します。



_mm512_reduce_add_epi64

extern __int64 __cdecl _mm512_reduce_add_epi64(__m512i a);

加算により a のパックド int64 要素をレデュースします。

a のすべての要素の合計を返します。


_mm512_mask_reduce_add_epi64

extern __int64 __cdecl _mm512_mask_reduce_add_epi64(__mmask8 k, __m512i a);

マスク k を使用して、加算により a のパックド int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素の合計を返します。



_mm512_reduce_max_epi32

extern int __cdecl _mm512_reduce_max_epi32(__m512i a);

最大値を特定する操作により a のパックド int32 要素をレデュースします。

a のすべての要素の最大値を返します。


_mm512_mask_reduce_max_epi32

extern int __cdecl _mm512_mask_reduce_max_epi32(__mmask16 k, __m512i a);

マスク k を使用して、最大値を特定する操作により a のパックド int32 要素をレデュースします。

a のすべてのアクティブな要素の最大値を返します。



_mm512_reduce_max_epi64

extern __int64 __cdecl _mm512_reduce_max_epi64(__m512i a);

最大値を特定する操作により a のパックド int64 要素をレデュースします。

a のすべての要素の最大値を返します。


_mm512_mask_reduce_max_epi64

extern __int64 __cdecl _mm512_mask_reduce_max_epi64(__mmask8 k, __m512i a);

マスク k を使用して、最大値を特定する操作により a のパックド int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素の最大値を返します。



_mm512_reduce_max_epu32

extern unsigned int __cdecl _mm512_reduce_max_epu32(__m512i a);

最大値を特定する操作により a のパックド符号なし int32 要素をレデュースします。

a のすべての要素の最大値を返します。


_mm512_mask_reduce_max_epu32

extern unsigned int __cdecl _mm512_mask_reduce_max_epu32(__mmask16 k, __m512i a);

マスク k を使用して、最大値を特定する操作により a のパックド符号なし int32 要素をレデュースします。

a のすべてのアクティブな要素の最大値を返します。



_mm512_reduce_max_epu64

extern unsigned __int64 __cdecl _mm512_reduce_max_epu64(__m512i a);

最大値を特定する操作により a のパックド符号なし int64 要素をレデュースします。

a のすべての要素の最大値を返します。


_mm512_mask_reduce_max_epu64

extern unsigned __int64 __cdecl _mm512_mask_reduce_max_epu64(__mmask8 k, __m512i a);

マスク k を使用して、最大値を特定する操作により a のパックド符号なし int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素の最大値を返します。



_mm512_reduce_min_epi32

extern int __cdecl _mm512_reduce_min_epi32(__m512i a);

最小値を特定する操作により a のパックド int32 要素をレデュースします。

a のすべての要素の最小値を返します。


_mm512_mask_reduce_min_epi32

extern int __cdecl _mm512_mask_reduce_min_epi32(__mmask16 k, __m512i a);

マスク k を使用して、最小値を特定する操作により a のパックド int32 要素をレデュースします。

a のすべてのアクティブな要素の最小値を返します。



_mm512_reduce_min_epi64

extern __int64 __cdecl _mm512_reduce_min_epi64(__m512i a);

最小値を特定する操作により a のパックド int64 要素をレデュースします。

a のすべての要素の最小値を返します。


_mm512_mask_reduce_min_epi64

extern __int64 __cdecl _mm512_mask_reduce_min_epi64(__mmask8 k, __m512i a);

マスク k を使用して、最小値を特定する操作により a のパックド int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素の最小値を返します。



_mm512_reduce_min_epu32

extern unsigned int __cdecl _mm512_reduce_min_epu32(__m512i a);

最小値を特定する操作により a のパックド符号なし int32 要素をレデュースします。

a のすべての要素の最小値を返します。



_mm512_mask_reduce_min_epu32

extern unsigned int __cdecl _mm512_mask_reduce_min_epu32(__mmask16 k, __m512i a);

マスク k を使用して、最小値を特定する操作により a のパックド符号なし int32 要素をレデュースします。

a のすべてのアクティブな要素の最小値を返します。



_mm512_reduce_min_epu64

extern unsigned __int64 __cdecl _mm512_reduce_min_epu64(__m512i a);

最小値を特定する操作により a のパックド符号なし int64 要素をレデュースします。

a のすべての要素の最小値を返します。


_mm512_mask_reduce_min_epu64

extern unsigned __int64 __cdecl _mm512_mask_reduce_min_epu64(__mmask8 k, __m512i a);

マスク k を使用して、最小値を特定する操作により a のパックド符号なし int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素の最小値を返します。



_mm512_reduce_mul_epi32

extern int __cdecl _mm512_reduce_mul_epi32(__m512i a);

乗算により a のパックド int32 要素をレデュースします。

a のすべての要素の積を返します。


_mm512_mask_reduce_mul_epi32

extern int __cdecl _mm512_mask_reduce_mul_epi32(__mmask16 k, __m512i a);

マスク k を使用して、乗算により a のパックド int32 要素をレデュースします。

a のすべてのアクティブな要素の積を返します。



_mm512_reduce_mul_epi64

extern __int64 __cdecl _mm512_reduce_mul_epi64(__m512i a);

乗算により a のパックド int64 要素をレデュースします。

a のすべての要素の積を返します。


_mm512_mask_reduce_mul_epi64

extern __int64 __cdecl _mm512_mask_reduce_mul_epi64(__mmask8 k, __m512i a);

マスク k を使用して、乗算により a のパックド int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素の積を返します。



_mm512_reduce_or_epi32

extern int __cdecl _mm512_reduce_or_epi32(__m512i a);

ビット単位の OR (論理和) 演算により a のパックド int32 要素をレデュースします。

a のすべての要素のビット単位の OR (論理和) を返します。


_mm512_mask_reduce_or_epi32

extern int __cdecl _mm512_mask_reduce_or_epi32(__mmask16 k, __m512i a);

マスク k を使用して、ビット単位の OR (論理和) 演算により a のパックド int32 要素をレデュースします。

a のすべてのアクティブな要素のビット単位の OR (論理和) を返します。



_mm512_reduce_or_epi64

extern __int64 __cdecl _mm512_reduce_or_epi64(__m512i a);

ビット単位の OR (論理和) 演算により a のパックド int64 要素をレデュースします。

a のすべての要素のビット単位の OR (論理和) を返します。


_mm512_mask_reduce_or_epi64

extern __int64 __cdecl _mm512_mask_reduce_or_epi64(__mmask8 k, __m512i a);

マスク k を使用して、ビット単位の OR (論理和) 演算により a のパックド int64 要素をレデュースします。

ベクトルマスク k の対応するビットが設定されているソースレジスターの要素のみ計算に使用されます。k の対応するビットがクリアされている a の要素は、結果ベクトルにそのままコピーされます。

a のすべてのアクティブな要素のビット単位の OR (論理和) を返します。