Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_max_ps/ _mm512_mask_max_ps

Determines the maximum of float32 vectors. On Intel® MIC Architecture, compare and jump instructions emulate this instruction. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern _m512 __cdecl _mm512_max_ps(_m512 v2, _m512 v3);

With Mask

extern _m512 __cdecl _mm512_mask_max_ps(_m512 v1_old, __mmask16 k1, _m512 v2, _m512 v3);

Parameters

v2

float32 vector to determine the absolute maximum values (first source operand)

v3

float32 vector to determine the absolute maximum 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 maximum value of each pair of corresponding elements in float32 vector v2 and float32 vector v3.

If the values being compared are both 0.0s (of either sign), the value in the second operand (v3) is returned. If only one value is a NaN, the second operand (v3), either a NaN or a valid floating-point value, is written to the result.

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.