_mm512_prefetch_i32extscatter_ps
Classification
AVX-512, Store, CPUID Test: AVX512PF
Header File
Instruction
VSCATTERPF0DPS m512
Synopsis
_mm512_prefetch_i32extscatter_ps(void * base_addr, __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", with a request for exclusive ownership. The "hint" parameter may be one of the following: _MM_HINT_T0 = 1 for prefetching to L1 cache, _MM_HINT_T1 = 2 for prefetching to L2 cache, _MM_HINT_T2 = 3 for prefetching to L2 cache non-temporal, _MM_HINT_NTA = 0 for prefetching to L1 cache non-temporal. 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 scatter intrinsic.
Operation
FOR j := 0 to 15
i := j*32
m := j*32
addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
Prefetch(MEM[addr+31:addr], hint)
ENDFOR