_mm512_mask_i32logather_epi64
Classification
KNC, Load, CPUID Test: KNCNI
Header File
immintrin.h
Instruction
VPGATHERDQ zmm {k}, m512
Synopsis
 _mm512_mask_i32logather_epi64(__m512i src, __mmask8 k, __m512i vindex, void const* base_addr, int scale);
Description
Loads 8 64-bit integer elements from memory starting at location "base_addr" at packed 32-bit integer indices stored in the lower half of "vindex" scaled by "scale" and stores them in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set).
Operation
FOR j := 0 to 7
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		dst[i+63:i] := MEM[addr+63:addr]
	ELSE
		dst[i+63:i] := src[i+63:i]
	FI
ENDFOR
dst[MAX:512] := 0