_mm512_mask_prefetch_i32extscatter_ps
Classification
AVX-512, Store, CPUID Test: AVX512PF
Header File
immintrin.h
Instruction
VSCATTERPF0DPS m512 {k}
Synopsis
 _mm512_mask_prefetch_i32extscatter_ps(void * base_addr, __mmask16 k, __m512i vindex, _MM_UPCONV_PS_ENUM conv, int scale, int hint);
Description
Prefetches a set of 16 single-precision (32-bit) memory locations pointed by base address "base_addr" and 32-bit integer index vector "vindex" with scale "scale" to L1 or L2 level of cache depending on the value of "hint". The "hint" parameter may be 1 (_MM_HINT_T0) for prefetching to L1 cache, or 2 (_MM_HINT_T1) for prefetching to L2 cache. The "conv" parameter specifies the granularity used by compilers to better encode the instruction. It should be the same as the "conv" parameter specified for the subsequent gather intrinsic. Only those elements whose corresponding mask bit in "k" is set are loaded into cache.
Operation
cachev := 0
FOR j := 0 to 15
	i := j*32
	m := j*32
	IF k[j]
		addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
		Prefetch(MEM[addr+31:addr], hint)
	FI
ENDFOR