Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_getmant_pd/ _mm512_mask_getmant_pd

Extract float64 normalized mantissas. Corresponding instruction is VGETMANTPD. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern __m512d __cdecl _mm512_getmant_pd(__m512d v2, _MM_MANTISSA_NORM_ENUM i, _MM_MANTISSA_SIGN_ENUM s);

With Mask

extern __m512d __cdecl _mm512_mask_getmant_pd(__m512d v1_old, __mmask8 k1, __m512d v2, _MM_MANTISSA_NORM_ENUM i, _MM_MANTISSA_SIGN_ENUM s);

Parameters

v2

float64 vector used for the extract 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

i

Interval constants for mantissa extraction, where _MM_MANTISSA_NORM_ENUM takes one of the following values:

  • _MM_MANT_NORM_1_2 - interval [1, 2)
  • _MM_MANT_NORM_p5_2 - interval [1.5, 2)
  • _MM_MANT_NORM_p5_1 - interval [1.5, 1)
  • _MM_MANT_NORM_p75_1p5 - interval [0.75, 1.5)

s

Sign constants for mantissa extraction, where _MM_MANTISSA_SIGN_ENUM takes one of the following values:

  • _MM_MANT_SIGN_src - sign = sign(SRC)
  • _MM_MANT_SIGN_zero - sign = 0
  • _MM_MANT_SIGN_nan - DEST = NaN if sign(SRC) = 1

Description

Extracts float64 normalized mantissas from vector v2 elements.

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 extract operation.