_mm512_extstore_ps
Classification
KNC, Store, CPUID Test: KNCNI
Header File
Instruction
VMOVAPS m512, zmm
Synopsis
_mm512_extstore_ps(void * mt, __m512 v, _MM_DOWNCONV_PS_ENUM conv, int hint);
Description
Downconverts packed single-precision (32-bit) floating-point elements stored in "v" to a smaller type depending on "conv" and stores them in memory location "mt". "hint" indicates to the processor whether the data is non-temporal.
Operation
addr := MEM[mt]
FOR j := 0 to 15
i := j*32
CASE conv OF
_MM_DOWNCONV_PS_NONE:
addr[i+31:i] := v[i+31:i]
_MM_DOWNCONV_PS_FLOAT16:
n := j*16
addr[n+15:n] := Convert_FP32_To_FP16(v[i+31:i])
_MM_DOWNCONV_PS_UINT8:
n := j*8
addr[n+7:n] := Convert_FP32_To_UInt8(v[i+31:i])
_MM_DOWNCONV_PS_SINT8:
n := j*8
addr[n+7:n] := Convert_FP32_To_Int8(v[i+31:i])
_MM_DOWNCONV_PS_UINT16:
n := j*16
addr[n+15:n] := Convert_FP32_To_UInt16(v[i+31:i])
_MM_DOWNCONV_PS_SINT16:
n := j*16
addr[n+15:n] := Convert_FP32_To_Int16(v[i+31:i])
ESAC
ENDFOR