_mm512_mask_i64extgather_pd
Classification
KNC, Load, CPUID Test: KNCNI
Header File
immintrin.h
Synopsis
 _mm512_mask_i64extgather_pd(__m512d src, __mmask8 k, __m512i vindex, void const * base_addr, _MM_UPCONV_PD_ENUM conv, int scale, int hint);
Description
Up-converts 8 double-precision (64-bit) floating-point elements stored in memory starting at location "base_addr" at packed 64-bit integer indices stored in "vindex" scaled by "scale" using "conv" to 64-bit floating-point elements and stores them in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "hint" indicates to the processor whether the data is non-temporal.
Operation
FOR j := 0 to 7
	i := j*64
	m := j*64
	addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
	
	IF k[j]
		CASE conv OF
		_MM_UPCONV_PD_NONE: dst[i+63:i] := MEM[addr+63:addr]
		ESAC
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0