_mm256_mask_i32scatter_pd
Classification
AVX-512, Store, CPUID Test: AVX512F
Header File
immintrin.h
Instruction
VSCATTERDPD vm32x {k}, ymm
Synopsis
 _mm256_mask_i32scatter_pd(void* base_addr, __mmask8 k, __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") subject to mask "k" (elements are not stored when the corresponding mask bit is not set). "scale" should be 1, 2, 4 or 8.
Operation
FOR j := 0 to 3
	i := j*64
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		MEM[addr+63:addr] := a[i+63:i]
	FI
ENDFOR