_mm512_mask_i64extgather_pd
Classification
KNC, Load, CPUID Test: KNCNI
Header File
Synopsis
_mm512_mask_i64extgather_pd(__m512d src, __mmask8 k, __m512i vindex, void const * base_addr, _MM_UPCONV_PD_ENUM conv, int scale, int hint);
Description
Up-converts 8 double-precision (64-bit) floating-point elements stored in memory starting at location "base_addr" at packed 64-bit integer indices stored in "vindex" scaled by "scale" using "conv" to 64-bit floating-point elements and stores them in "dst" using writemask "k" (elements are copied from "src" when the corresponding mask bit is not set). "hint" indicates to the processor whether the data is non-temporal.
Operation
FOR j := 0 to 7
i := j*64
m := j*64
addr := base_addr + vindex[m+63:m] * ZeroExtend64(scale) * 8
IF k[j]
CASE conv OF
_MM_UPCONV_PD_NONE: dst[i+63:i] := MEM[addr+63:addr]
ESAC
ELSE
dst[i+63:i] := src[i+63:i]
FI
ENDFOR
dst[MAX:512] := 0