_mm512_i64gather_epi32
Classification
Header File
Instruction
VPGATHERQD ymm, vm64z
Synopsis
_mm512_i64gather_epi32(__m512i vindex, void const* base_addr, int scale);
Description
Gather 32-bit integers from memory using 64-bit indices. 32-bit elements are loaded from addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). Gathered elements are merged into "dst". "scale" should be 1, 2, 4 or 8.
Operation
FOR j := 0 to 7
i := j*32
m := j*64
addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
dst[i+31:i] := MEM[addr+31:addr]
ENDFOR
dst[MAX:256] := 0