Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_roundfxpnt_adjust_pd/ _mm512_mask_roundfxpnt_adjust_pd

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

Syntax

Without Mask

extern __m512d __cdecl _mm512_roundfxpnt_adjust_pd(__m512d v2, int rc, _MM_EXP_ADJ_ENUM adj);

With Mask

extern __m512d __cdecl _mm512_mask_roundfxpnt_adjust_pd(__m512d v1_old, __mmask8 k1, __m512d v2, int rc, _MM_EXP_ADJ_ENUM adj);

Parameters

v2

float32 vector used for rounding

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_FROUND_TO_NEAREST_INT - rounds to nearest even
  • _MM_FROUND_TO_NEG_INF - rounds to negative infinity
  • _MM_FROUND_TO_POS_INF - rounds to positive infinity
  • _MM_FROUND_TO_ZERO - rounds to zero
  • _MM_FROUND_CUR_DIRECTION - rounds using default from MXCSR register

Description

Rounds float64 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 rounding operation.