Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_roundfxpnt_adjust_ps/ _mm512_mask_roundfxpnt_adjust_ps

Rounds float32 vector. Corresponding instruction is VRNDFXPNTPS. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern __m512 __cdecl _mm512_roundfxpnt_adjust_ps(__m512 v2, int rc, _MM_EXP_ADJ_ENUM expadj);

With Mask

extern __m512 __cdecl _mm512_mask_roundfxpnt_adjust_ps(__m512 v1_old, __mmask16 k1, __m512 v2, int rc, _MM_EXP_ADJ_ENUM expadj);

Parameters

v2

float32 vector used for the operation

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

expadj

Exponent adjustment values; these can be one of the following values:

  • _MM_EXPADJ_NONE - 2**0 (32.0 - no exp adjustment)
  • _MM_EXPADJ_4 - 2**4  (28.4)
  • _MM_EXPADJ_5 - 2**5  (27.5)
  • _MM_EXPADJ_8 - 2**8  (24.8)
  • _MM_EXPADJ_16 - 2**16 (16.16)
  • _MM_EXPADJ_24 - 2**24 (8.24)
  • _MM_EXPADJ_31 - 2**31 (1.31)
  • _MM_EXPADJ_32 - 2**32 (0.32)

rc

Rounding control values; these can be one of the following:

  • _MM_ROUND_MODE_NEAREST - round to nearest (even)
  • _MM_ROUND_MODE_DOWN - round toward negative infinity
  • _MM_ROUND_MODE_UP - round toward positive infinity
  • _MM_ROUND_MODE_TOWARD_ZERO - round toward zero

Description

Rounds float32 vector v2 according to rc and expadj values.

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.