_mm512_extload_pd
Classification
KNC, Load, CPUID Test: KNCNI
Header File
Instruction
VMOVAPD zmm, m512
Synopsis
_mm512_extload_pd(void const * mt, _MM_UPCONV_PD_ENUM conv, _MM_BROADCAST64_ENUM bc, int hint);
Description
Depending on "bc", loads 1, 4, or 8 elements of type and size determined by "conv" from memory address "mt" and converts all elements to double-precision (64-bit) floating-point elements, storing the results in "dst". "hint" indicates to the processor whether the data is non-temporal.
Operation
addr := MEM[mt]
FOR j := 0 to 7
i := j*64
CASE bc OF
_MM_BROADCAST64_NONE:
CASE conv OF
_MM_UPCONV_PD_NONE:
n := j*64
dst[i+63:i] := addr[n+63:n]
ESAC
_MM_BROADCAST_1X8:
CASE conv OF
_MM_UPCONV_PD_NONE:
n := j*64
dst[i+63:i] := addr[63:0]
ESAC
_MM_BROADCAST_4X8:
mod := j%4
CASE conv OF
_MM_UPCONV_PD_NONE:
n := mod*64
dst[i+63:i] := addr[n+63:n]
ESAC
ESAC
ENDFOR
dst[MAX:512] := 0