_mm512_extstore_ps
Classification
KNC, Store, CPUID Test: KNCNI
Header File
immintrin.h
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