_mm512_roundfxpnt_adjust_pd
Classification
KNC, Miscellaneous, CPUID Test: KNCNI
Header File
immintrin.h
Instruction
VRNDFXPNTPD zmm, m512, imm8
Synopsis
 _mm512_roundfxpnt_adjust_pd(__m512d a, int rounding, _MM_EXP_ADJ_ENUM expadj);
Description
Performs element-by-element rounding of packed double-precision (64-bit) floating-point elements in "a" using "expadj" and in the direction of "rounding" and stores results in "dst". [round_note]
Operation
FOR j := 0 to 7
	i := j*64
	dst[i+63:i] := ROUND(a[i+63:i])
	CASE expadj OF
	_MM_EXPADJ_NONE: dst[i+31:i] := dst[i+31:i] * (2 << 0)
	_MM_EXPADJ_4:	dst[i+31:i] := dst[i+31:i] * (2 << 4)
	_MM_EXPADJ_5:	dst[i+31:i] := dst[i+31:i] * (2 << 5)
	_MM_EXPADJ_8:	dst[i+31:i] := dst[i+31:i] * (2 << 8)
	_MM_EXPADJ_16:   dst[i+31:i] := dst[i+31:i] * (2 << 16)
	_MM_EXPADJ_24:   dst[i+31:i] := dst[i+31:i] * (2 << 24)
	_MM_EXPADJ_31:   dst[i+31:i] := dst[i+31:i] * (2 << 31)
	_MM_EXPADJ_32:   dst[i+31:i] := dst[i+31:i] * (2 << 32)
	ESAC
ENDFOR
dst[MAX:512] := 0