_mm512_mask_i32logather_pd
Classification
AVX-512, Load, CPUID Test: AVX512F
Header File
immintrin.h
Instruction
VGATHERDPD zmm {k}, m512
Synopsis
 _mm512_mask_i32logather_pd(__m512d src, __mmask8 k, __m512i vindex, void const* base_addr, int scale);
Description
Loads 8 double-precision (64-bit) floating-point elements from memory starting at location "base_addr" at packed 32-bit integer indices stored in the lower half of "vindex" scaled by "scale" into "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