_mm_i64scatter_epi32
Classification
AVX-512, Store, CPUID Test: AVX512F
Header File
Instruction
VPSCATTERQD vm64x, xmm
Synopsis
_mm_i64scatter_epi32(void* base_addr, __m128i vindex, __m128i a, const int scale);
Description
Scatter 32-bit integers from "a" into memory using 64-bit indices. 32-bit elements are stored at addresses starting at "base_addr" and offset by each 64-bit element in "vindex" (each index is scaled by the factor in "scale"). "scale" should be 1, 2, 4 or 8.
Operation
FOR j := 0 to 1
i := j*32
m := j*64
addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
MEM[addr+31:addr] := a[i+31:i]
ENDFOR