_mm512_mask_extstore_epi32
Classification
KNC, Store, CPUID Test: KNCNI
Header File
immintrin.h
Instruction
VMOVDQA32 m512 {k}, zmm
Synopsis
 _mm512_mask_extstore_epi32(void * mt, __mmask16 k, __m512i v, _MM_DOWNCONV_EPI32_ENUM conv, int hint);
Description
Downconverts packed 32-bit integer elements stored in "v" to a smaller type depending on "conv" and stores them in memory location "mt" (elements in "mt" are unaltered when the corresponding mask bit is not set). "hint" indicates to the processor whether the data is non-temporal.
Operation
addr := MEM[mt]
FOR j := 0 to 15
	i := j*32
	IF k[j]
		CASE conv OF
		_MM_DOWNCONV_EPI32_NONE:
			addr[i+31:i] := v[i+31:i]
		_MM_DOWNCONV_EPI32_UINT8:
			n := j*8
			addr[n+7:n] := Int32ToUInt8(v[i+31:i])
		_MM_DOWNCONV_EPI32_SINT8:
			n := j*8
			addr[n+7:n] := Int32ToSInt8(v[i+31:i])
		_MM_DOWNCONV_EPI32_UINT16:
			n := j*16
			addr[n+15:n] := Int32ToUInt16(v[i+31:i])
		_MM_DOWNCONV_EPI32_SINT16:
			n := j*16
			addr[n+15:n] := Int32ToSInt16(v[i+31:i])
		ESAC
	FI
ENDFOR