_mm512_mask_prefetch_i32extgather_ps
Classification
KNC, Load, CPUID Test: KNCNI
Header File
Instruction
VGATHERPF0DPS m512 {k}
Synopsis
_mm512_mask_prefetch_i32extgather_ps(__m512i vindex, __mmask16 k, void const * base_addr, _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". Gathered elements are merged in cache using writemask "k" (elements are brought into cache only when their corresponding mask bits are set). 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.
Operation
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