_mm512_mask_i32loextscatter_pd
Classification
AVX-512, Store, CPUID Test: AVX512F
Header File
immintrin.h
Instruction
VSCATTERDPD m512 {k}, zmm
Synopsis
 _mm512_mask_i32loextscatter_pd(void * base_addr, __mmask8 k, __m512i vindex, __m512d a, _MM_DOWNCONV_PD_ENUM conv, int scale, int hint);
Description
Down-converts 8 packed double-precision (64-bit) floating-point elements in "a" and stores them in memory locations starting at location "base_addr" at packed 32-bit integer indices stored in "vindex" scaled by "scale" using "conv". Only those elements whose corresponding mask bit is set in writemask "k" are written to memory.
Operation
FOR j := 0 to 7
	i := j*64
	m := j*32
	addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
	
	IF k[j]
		CASE conv OF
		_MM_DOWNCONV_PD_NONE: MEM[addr+63:addr] := a[i+63:i]
		ESAC
	FI
ENDFOR