_mm256_i32scatter_pd
Classification
AVX-512, Store, CPUID Test: AVX512F
Header File
Instruction
VSCATTERDPD vm32x, ymm
Synopsis
_mm256_i32scatter_pd(void* base_addr, __m128i vindex, __m256d a, const int scale);
Description
Scatter double-precision (64-bit) floating-point elements from "a" into memory using 32-bit indices. 64-bit elements are stored at addresses starting at "base_addr" and offset by each 32-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 3
i := j*64
m := j*32
addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
MEM[addr+63:addr] := a[i+63:i]
ENDFOR