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

_mm512_reduce_[g]min_pd/_mm512_mask_reduce_[g]min_pd

float64 ベクトル中の最小スカラー値を持つ要素を特定します。対応する命令はありません。この組込み関数は、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。

構文

マスクなし

extern double __cdecl _mm512_reduce_gmin_pd(_m512d v2);

extern double __cdecl _mm512_reduce_min_pd(_m512d v2);

マスク付き

extern double __cdecl _mm512_mask_reduce_gmin_pd(__mmask8 k1, _m512d v2);

extern double __cdecl _mm512_mask_reduce_min_pd(__mmask8 k1, _m512d v2);

引数

v2

最小値を特定する float64 ベクトル

k1

書き込みマスク。k1 マスクの対応するビットが '1' にセットされているソースベクトルの要素のみ計算され、結果に格納されます。

説明

float64 ベクトル v2 中の最小スカラー値を持つ要素を特定します。

マスク付きにはさらに引数 k1 があります。 ベクトルマスク k1 の対応するビットがセットされているソースレジスターの要素のみ計算に使用されます。 k1 の対応するビットがクリアされている v2 の要素は、結果ベクトルにそのままコピーされます。

g が付くバージョン:

FpMin() は、一般に IEEE 規格に従って v2 の 2 つの要素の小さい方を返しますが、以下は特に IEEE DX10 規格に従っています。

dest = src0 < src1 ? src0 : src1

 NaN の特別な処理: 要素の 1 つが NaN の場合、もう一方の要素が返されます (選択はコンポーネントごとに行われます)。両方とも NaN の場合、v2 の 1 つ目の要素が返されます。 これは、新しい IEEE 754R 規格に準拠します。

g がないバージョン:

FpMin() は、v2 の 2 つの要素のパックド単精度浮動小数点値の SIMD 比較を行い、小さい方を返します。

比較する値が両方とも (符号に関係なく) 0.0 の場合、v1 の 2 つ目の要素の値が返されます。 どちらか一方の値だけが NaN の場合、v2 の 2 つ目の要素 (NaN または有効な浮動小数点値) が結果に書き込まれます。

戻り値

操作の結果。