Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_gmin_pd/ _mm512_mask_gmin_pd

Determines the minimum of float64 vectors. Corresponding instruction is VGMINPD. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern _m512d __cdecl _mm512_gmin_pd(_m512d v2, _m512d v3);

With Mask

extern _m512d __cdecl _mm512_mask_gmin_pd(_m512d v1_old, __mmask8 k1, _m512d v2, _m512d v3);

Parameters

v2

float64 vector to determine the minimum values (first source operand)

v3

float64 vector to determine the minimum values (second source operand)

v1_old

Source vector that retains old values of the destination vector; the resulting vector gets corresponding elements from v1_old for zero mask bits

k1

Writemask; only those elements of the source vectors with corresponding bit set to '1' in the k1 mask are computed and stored in the result; elements in the result vector corresponding to zero bit in k1 are copied from corresponding elements of vector v1_old

Description

Determines the minimum value of each pair of corresponding elements in float64 vector v2 and float64 vector v3.

FpMin() returns the smaller of the two float64 arguments, following IEEE in general, and specifically following this from the DX10 spec:

dest = src0 < src1 ? src0 : src1

NaN has special handling: If one source operand is NaN, then the other source operand is returned (choice made per-component). If both are NaN, then the quietized NaN from the first source (here v2) is returned. This conforms to new IEEE 754R rules.

The masked variant has one additional argument: k1. Only those elements in the source registers with the corresponding bit set in vector mask k1 are used for computing.

Returns

Returns the result of the operation.